golang
Acharon_L
有志者,事竟成,破釜沉舟,百二秦关终属楚。 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
展开
-
go defer
defer语句调用一个函数,这个函数执行会推迟,直到外围的函数返回,或者外围函数运行到最后,或者相应的goroutine panic.每当defer执行的时候,它后面的函数值(在go中函数是一个引用类型,是一等公民,可以赋值给变量)和函数参数会被求值,但是函数不会立即调用,直到(↑)上述三种情况发生。func readFile(fileName string){ f,err := os...转载 2019-09-03 19:43:19 · 150 阅读 · 0 评论 -
go defer原理
本文整理defer语句用于延迟函数的调用,每次defer都会把一个函数压入栈中,函数返回前再把延迟的函数取出并执行。栗子:func deferFuncParameter() { var aInt = 1 defer fmt.Println(aInt) aInt = 2 return}输出1。延迟函数fmt.Println(aInt)的参数在def...转载 2019-09-03 19:57:59 · 202 阅读 · 0 评论 -
go 数组
1.数组数组定义方式:var a [3]int // 定义长度为3的int型数组, 元素全部为0var b = [...]int{1, 2, 3} // 定义长度为3的int型数组, 元素为 1, 2, 3var c = [...]int{2: 3, 1: 2} // 定义长度为3的int型数组, 元素为 0, 2, 3var d ...原创 2019-09-16 19:21:55 · 300 阅读 · 0 评论 -
go切片
定义方式:var ( a []int // nil切片, 和 nil 相等, 一般用来表示一个不存在的切片 b = []int{} // 空切片, 和 nil 不相等, 一般用来表示一个空的集合 c = []int{1, 2, 3} // 有3个元素的切片, len和cap都为3 d = c[:2] ...原创 2019-09-16 19:36:41 · 218 阅读 · 0 评论