Go语言高级编程

第一章 语言基础

 

defer

defer的延迟调用特性:

1. 关键字 defer 用于注册延迟调用。 2. 这些调用直到 return 前才被执。因此,可以用来做资源清理。 3. 多个defer语句,按先进后出的方式执行。 4. defer语句中的变量,在defer声明时就决定了。

defer的用途:

1. 关闭文件句柄 2. 锁资源释放 3. 数据库连接释放

 

go语言规范要求源文件采用UTF8编码

main包中的main函数默认是每一个可执行程序的入口

go函数参数不能传引用,可以传地址给指针

 

数组、字符串和切片

数组的长度是数组类型的组成部分,所以在go中很少直接使用数组。切片是可以动态增长和收缩的序列。

一个数组名变量即表示整个数组,并不是隐式指向第一个元素的指针。所以在函数传参或者直接复制的时候如果数组过大整个copy的开销也会大,这个时候需要用指针来复制。通过指向数组的指针访问数组中的元素和直接使用数组来访问写法相似。

 

posted @ 2021-03-17 21:15  DSKer  阅读(301)  评论(0编辑  收藏  举报