net包提供了可移植的网络I/O接口,包括TCP/IP、UDP、域名解析和Unix域socket. 虽然本包提供了对网络原语的访问,但大多数使用者只需要Dial、Listen和Accpet函数的基本接口;以及Conn和Listener接口。crypto/tls包提供了相同的接口和类似的Dial和Listen函数。 常量 //表示ip地址的长度(bytes),其中ipv4的长度为4
package net import "net" net包提供了可移植的网络I/O接口,包括TCP/IP、UDP、域名解析和Unix域socket。 虽然本包提供了对网络原语的访问,大部分使用者只需要Dial、Listen和Accept函数提供的基本接口;以及相关的Conn和Listener接口。crypto/tls包提供了相同的接口和类似的Dial和Listen函数。
欢迎Golang 网络通信解析系列文章的第一个部分: net 包解析。net 包中充满了几个与底层操作系统紧密结合的网络原语,使我们能够构建世界级的生产网络应用程序。Docker、Kubernetes、CoreDNS、Traefik 等知名项目都是用 Go 构建的,并以其快速高效地在各种客户端服务器服务之间传输数据包的能力而闻名。 在本文中,我们将深入研究操作系统 (GOOS)
目录 前言 Gonet/httphttpHTTPHTTPnet/httpwebnet/http HTTP Server http包执行流程 net/http 具体流程如下: Listen SocketListenAndServer(...)Listen SocketClient SocketListen Socket srv.Server(...)Client
有没有办法在保存对象时自动删除关联? 这样的事情: type Parent struct { gorm.Model Name string Children []*Child } type Child struct { gorm.Model Name string ParentID uint } func myFunc(db *gorm.DB) { p :=
所谓陷阱,就是它不是你认为的那样,这种认知误差可能让你的软件留下隐藏Bug。刚好Timer就有3个陷阱,我们会讲 1)Reset的陷阱和 2)通道的陷阱,3)Stop的陷阱与Reset的陷阱类似,自己探索吧。Reset的陷阱在哪Timer.Reset()函数的返回值是bool类型,我们看一个问题三连: 它的返回值代表什么呢?我们想要的成功是什么?失败是什么? 成功:一段时间之后定时器超时
概要 最近遇到一个需求,golang应用部署在远程机器,远程机器在内网,部署之后不方便再次登录此远程机器去升级。 因此,需要golang应用自动检查是否需要升级,如果需要升级,则下载二进制后自升级。 自升级库 golang自升级的库有好几个,比较之后决定采用: https://github.com/jpillora/overseer 此库不是最全面的,但是实现原理和提供的接口比较简单
只需两行代码即可自动将go.mod 中的所有依赖升级至最新go get -d -u -t ./... go mod tidy可以看到所有依赖都自动升级了
最近,Golang发布了一个新版本1.16。版本引入了很多新功能,其中在模块方面的改进,今天我们就一起来深入学习一下。 默认情况下开启go module go命令现在默认情况下以模块感知模式构建软件包,即使项目中没有go.mod也默认启动,这将对模块的全面使用起到重要作用。但是通过环境变量GO111MODULE设置为 off下,GOPATH模式仍然可用。
ssl 对网站越来越重要,用户信息安全,搜索引擎信赖... Let’s Encrypt 免费证书最近发展惊人。 golang.org/x/crypto/acme/autocert 首先配置 autocert.Manager: 1 2 3 4 5 6autocert.Manager{ Prompt: autocert.AcceptTOS, HostPolicy: autocert