IDEA安装protocol buffer插件 Google Protobuf support for JetBrains setings > plugins 配置pom 编...
架构模式 pipe-filter 非常适合数据处理及数据分析系统 Filter封装数据处理的功能 松耦合,Filter只跟数据格式耦合 pipe用于连接filter传递数据或...
reflect.TypeOf vs reflect.ValueOf reflect.TypeOf 返回类型(reflect.Type) reflect.ValueOf返回值(...
单元测试 t.Error()测试失败,后面的可以执行,其他测试继续执行 t.Fatal()测试失败,后面的不会执行,其它测试继续执行 代码覆盖率 -cover断言 bench...
只运行一次 仅需任意任务完成 所有任务完成 对象池 sync.pool 对象缓存 尝试从私有对象获取 私有池不存在,尝试从当前processor的共享池获取 如果当前Proc...
Context 根context:通过context.background()来创建 子context:context.withCancel(parentContext)创建...
向关闭的channel发送数据,会导致panic v,ok <-ch;ok为bool值,true表示正常接受,false表示通道关闭 所有的channel接收者都会在chan...
Actor Model CSP vs Actor 和Actor的直接通讯不同,CSP模式则是通过Channel进行通讯的,更松耦合一些。 Go中的Channel是有容量限制并...
Mutex WaitGroup 类似java中的join
Thread vs Groutine 创建时默认的stack的大小 JDK5以后Java Thread stack默认为1M Groutine的stack初始化大小为2k 协...
package包 基本复用模块单元以首字母大写来表明可被包外代码访问 代码的package可以和所在的目录不一致 同一目录的里的Go代码的package要保持一致 clien...
错误 panic 执行到panic时,后面的不会继续执行,按照defer函数列表逆序执行,defer里可用recover捕获panic; os.Exit(-1)执行后不会执行...
封装数据和行为 实例创建及初始化 接口 接口为非入侵性,实现不依赖于接口定义 接口的定义可以包含在接口使用者包内 接口变量 类型 数据 扩展 面向对象扩展一般通过继承和复合来...