31、Go语言网络编程与Web应用开发

Go语言网络编程与Web应用开发

1. 网络错误处理

在Go语言中, net 包遵循常见约定返回 error 类型的错误。不过,部分错误实现还具备 net.Error 接口定义的额外方法,该接口定义如下:

package net
type Error interface {
    Timeout() bool // Is the error a timeout?
    Temporary() bool // Is the error temporary?
    …
}

客户端代码可借助类型断言来检测 net.Error ,进而区分临时性网络错误和永久性网络错误。例如,网络爬虫在遇到临时性错误时可暂停并重试,否则放弃。示例代码如下:

// in a loop - some function returns an error err
if nerr, ok := err.(net.Error); ok && nerr.Temporary() {
    time.Sleep(1e9)
    continue   // try again
}
if err != nil {
    log.Fatal(err)
}

2. 简单Web服务器

2.1 启动Web服务器

HTTP是比TCP更高层的协议,它描述了Web服务器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值