摘要: 并发本身并不复杂,但是因为有了资源竞争的问题,就使得我们开发出好的并发程序变得复杂起来,因为会引起很多莫名其妙的问题。 package main import ( "fmt" "runtime" "sync" ) var ( count int32 wg sync.WaitGroup ) func 阅读全文
posted @ 2018-07-25 15:00 奔梦 阅读(798) 评论(0) 推荐(0)
摘要: go build,是我们非常常用的命令,它可以启动编译,把我们的包和相关的依赖编译成一个可执行的文件。 go build的使用比较简洁,所有的参数都可以忽略,直到只有go build,这个时候意味着使用当前目录进行编译,下面的几条命令是等价的: 以上这三种写法,都是使用当前目录编译的意思。因为我们忽 阅读全文
posted @ 2018-07-25 14:26 奔梦 阅读(23376) 评论(0) 推荐(2)
摘要: 一、前期准备 前期准备 需要 import "net"包 IP 类型,其中一个重要的方法是 IP.ParseIP(ipaddr string)来判断是否是合法的 IP 地址 TCP Client func (c *TCPConn) Write(b []byte) (n int, err os.Err 阅读全文
posted @ 2018-07-25 11:00 奔梦 阅读(913) 评论(0) 推荐(0)