Go 学习笔记——雨痕

所需积分/C币:24 2018-11-28 13:34:46 1.23MB PDF

Go 学习笔记——雨痕,pdf文字版带书签。在不侵犯作者个人权利的前提下,可自由散播本书。
G学引笔记.箅4版 更新 2012-01-11开始学习Go。 2012-01-15第一版,基于R60。 2012-03-29升级到1.0。 2012-06-15升级到1.0.2。 2013-03-26升级到1.1。 2013-12-12第二版,基于1.2 2014-05-22第三版,基于1.3。 2014-12-20第四版,基于1.4。 G学引笔记.箅4版 目录 第一部分语言 8 第1章类型 1.1变量 1.2常量 10 1.3基本类型 1.4引用类型 14 1.5类型转换 14 1.6字符串 15 1.7指针 17 1.8自定义类型 19 第2章表达式 21 2.1保留字 21 2.2运算符 21 2.3初始化 22 2.4控制流 23 第3章函数 29 3.1函数定义 29 32变参 30 3.3返回值 30 3.4匿名函数 32 3.5延迟调用 34 3.6错误处理 35 第4章数据 39 4.1 Arra 39 4.2S|i 40 4.3 Map 45 G学引笔记.箅4版 4.4 Struct 47 第5章方法 53 5.1方法定义 53 5.2匿名字段 54 5.3方法集 56 5.4表达式 56 第6章接口 60 6.1接口定义 60 6.2执行机制 62 6.3接口转换 63 6.4接口技巧 65 第7章并发 66 7.1 Goroutine 66 7.2 Channel 68 第8章包 76 8.1工作空间 76 8.2源文件 76 8.3包结构 77 8.4文档 81 第9章进阶 82 9.1内存布局 82 9.2指针陷阱 83 cgo 86 9. 4 Reflec 94 第二部分源码 109 1. Memory Allocator 10 1.1初始化 112 1.2分配流程 117 G学引笔记.箅4版 1.3释放流程 131 1.4其他 135 2. Garbage Collector 140 2.1初始化 140 2.2垃圾回收 141 2.3内存释放 L55 2.4状态输出 160 3. Goroutine scheduler 166 3.1初始化 166 3.2创建任务 171 3.3任务线程 178 3.4任务执行 184 3.5连续栈 196 3.6系统调用 207 3.7系统监控 211 38状态输出 217 4. Channel 218 4.1初始化 218 4.2收发数据 220 4.3选择模式 227 5 Defer 235 6 Finalizer 241 第三部分附录 249 A.工具 250 1.工具集 250 2.条件编译 251 3.跨平台编译 253 4.预处理 254 G学引笔记.箅4版 B.调试 255 1. GDB 255 2. Data race 255 C.测试 258 1. Test 258 2. Benchmark 260 3. Example 261 4. Cover 261 5. PProf 262 G学引笔记.箅4版 第一部分语言 G学引笔记.箅4版 第1章类型 1.1变量 Go是静态类型语言,不能在运行期改变变量类型。 使用关键字var定义变量,自动初始化为零值。如果提供初始化值,可省略变量类型,由 编译器自动推断。 var x int var f float32= 1. 6 var s=abcl 在函数内部,可用更简略的"="方式定义变量。 func main ()t X:=123 /注意检查,是定义新局部变量,还是修改仝局变量。该方式容易造成错误。 可一次定义多个变量。 var x, y,z int var var a int b float 32 func main()f n, s:= 0x1234.Hello. World! println(x, S, n) 多变量赋值时,先计算所有相关值,然后再从左到右依次赋值。 data,i:=[3]int{0,1,2},0 data[i] = 2, 100 /(i=0)→>(i=2),(data[0]=100) 特殊只写变量"",用于忽略值占位。 Ga学引笔记,第4版 func test()(int, string )t turn 1,ab func main([ sto println(s) 编译器会将未使用的局部变量当做错误。 var s string //全局变量没问题。 func main()t / Error: i declared and not used。(可使用"=i"规避) 注意重新赋值与定义新同名变量的区别 println (&s) 5,y:=" hello",20 /重新赋值:与前s在同一层次的代码块中,且有新的变量被定义。 println(&s, y) /通常函数多返回值err会被重复使用。 s, Z 000,30 //定义新同名变量:不在同一层次代码块。 println(&s, z) 输出 0×2210230f30 0x2210230f3020 ×2210230f1830 12常量 常量值必须是编译期可确定的数字、字符串、布尔值。 const x,y int = 1, 2 //多学量初始化 const s ="Hello world! //类型推断 const //常量组 a, b 10,100 c bool= false

...展开详情
试读 127P Go 学习笔记——雨痕
img
openownworld
  • 分享达人

    成功上传6个资源即可获取

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    Go 学习笔记——雨痕 24积分/C币 立即下载
    1/127
    Go 学习笔记——雨痕第1页
    Go 学习笔记——雨痕第2页
    Go 学习笔记——雨痕第3页
    Go 学习笔记——雨痕第4页
    Go 学习笔记——雨痕第5页
    Go 学习笔记——雨痕第6页
    Go 学习笔记——雨痕第7页
    Go 学习笔记——雨痕第8页
    Go 学习笔记——雨痕第9页
    Go 学习笔记——雨痕第10页
    Go 学习笔记——雨痕第11页
    Go 学习笔记——雨痕第12页
    Go 学习笔记——雨痕第13页
    Go 学习笔记——雨痕第14页
    Go 学习笔记——雨痕第15页
    Go 学习笔记——雨痕第16页
    Go 学习笔记——雨痕第17页
    Go 学习笔记——雨痕第18页
    Go 学习笔记——雨痕第19页
    Go 学习笔记——雨痕第20页

    试读已结束,剩余107页未读...

    24积分/C币 立即下载 >