
golang
LoganMaaa
Java background development. I am working at IBM DaLian & still improving myself everyday. One day I will be a singular person.
展开
-
defer不同版本之前的区别
Defer 1.12 vs 1.13 vs 1.14原文来自:https://maronghe.github.io/1.12之前defer func(){} —> 会被翻译成两个函数deferproc() : 注册,defer func(){} 到g的defer链表中,头插法。defer需要进行堆分配,而且参数变量需要进行堆栈间拷贝。runtime.deferreturn() : 执行,defer链表的中的每一项(先注册 -》 后执行)// runtime/runtime2.原创 2020-06-26 15:48:05 · 361 阅读 · 0 评论 -
golang数组和切片的区别
数组和切片的区别底层结构创建varmake[]int{}slice扩容复用底层数组注意:array不能跟nil比较,编译报错make只能用于 map, channel ,slice的创建,不能创建数组var arr [5]int 创建数组,初始化为5个零数组大小不可变,切片可变kind数组 array [2]int , [3]int[]slice slice []intcopy 仅能用于slice,并且dst必须要有容量复用底部数组 t3 .原创 2020-06-26 15:46:33 · 331 阅读 · 0 评论