Go语言高级编程
第一章 语言基础
defer
defer的延迟调用特性:
1. 关键字 defer 用于注册延迟调用。 2. 这些调用直到 return 前才被执。因此,可以用来做资源清理。 3. 多个defer语句,按先进后出的方式执行。 4. defer语句中的变量,在defer声明时就决定了。
defer的用途:
1. 关闭文件句柄 2. 锁资源释放 3. 数据库连接释放
go语言规范要求源文件采用UTF8编码
main包中的main函数默认是每一个可执行程序的入口
go函数参数不能传引用,可以传地址给指针
数组、字符串和切片
数组的长度是数组类型的组成部分,所以在go中很少直接使用数组。切片是可以动态增长和收缩的序列。
一个数组名变量即表示整个数组,并不是隐式指向第一个元素的指针。所以在函数传参或者直接复制的时候如果数组过大整个copy的开销也会大,这个时候需要用指针来复制。通过指向数组的指针访问数组中的元素和直接使用数组来访问写法相似。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步