摘要: golang中的channel channel用于goroutine之间的通信 如果不用channel,使用共享全局变量的方式,需要加锁 使用同步锁并发效率会很低 channel主要用于goroutine通信和解决主线程等待goroutine执行结束再退出的问题 basic concept of c 阅读全文
posted @ 2019-02-08 21:31 苏幕遮_凌枫 阅读(1412) 评论(0) 推荐(0) 编辑
摘要: goroutine示例 go // 主线程结束后 所有协程都会一起结束 // 在4个go程中结束时向chan c写入true // 开启go程后 在主线程中循环对管道c取值,取出4个true 说明go程执行完毕 再执行主线程并退出 func main() { c := make(chan bool, 阅读全文
posted @ 2019-02-08 19:34 苏幕遮_凌枫 阅读(234) 评论(0) 推荐(0) 编辑
摘要: Logger结构体所有字段都是私有的,提供了一个工厂函数获取结构体实例 flag参数的常量 阅读全文
posted @ 2019-02-08 17:33 苏幕遮_凌枫 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 使用 进行单元测试 1. golang的测试库 2. 测试文件与被测试文件在同一个包中 3. 测试文件名为 4. 测试用例函数以 开头, 5. 一个测试用例文件中可以有多个测试用例函数 在测试用例函数中调用被测试函数,根据函数返回结果与预期的正确结果的比较, 判断函数是否正确。t.Log输出日志,t 阅读全文
posted @ 2019-02-08 17:23 苏幕遮_凌枫 阅读(189) 评论(0) 推荐(0) 编辑