写过一段时间 golang 后,业务开发应该游刃有余了,可以检查下这些基本的语法你都掌握了么?25 个关键字、37 个预定义标识符,41 个标准库是不是都很熟悉了? 独特的 interface、go、select 语法你都会用了么?
基础知识
正如大部分编程语言,了解基本的数据结构、关键字、语法、包引用、错误处理等,就可以进行简单的业务开发了. 本文主要梳理了 golang 这些基本的知识点,可以对照看是否都了解它们的用法了.
一些基本的数据结构如 int、bool、string、byte等,语法 if、else、for、break、func、return 、struct 等与其它语言类似,有编程基础很快能够掌握.
此外,也有许多写法上较为特别的概念需要注意:
抽象接口 interface 的使用引用类型 slice、map、channel 及其底层原理协程并发 go、select错误处理 error、nil、defer、panic内置函数 append、copy 标准库 io、reflect 等等25个关键字
golang 有 25 个常用关键字,它们是语法的关键. 是不允许被定义为变量名的. 根据它们的作用,我简单分了个类. 其中黑体的关键字,是值得更进一步探究的,它们是 golang 中比较特别的特性. 25 个关键字如下:
预定义
除了构成语法的关键字,还有一些 golang 提供的内建常量、类型及函数. 如下共 37 个,其中常量 4 个,类型 20 个,函数 13 个. 黑体的部分很常用,是 golang 独特的部分,也是值得进一步探究的.
内建常量
true、false、iota、nil内建类型
int、int8、int16、int32、int64uint、uint8、uint16、uint32、uint64、uintprtfloat32、float64、complex64、complex128bool、byte、rune、string、error内置函数
make、len、cap、new、append、copy、close、deletecomplex、real、imagpanic、recover内置 41 个标准库
库即可以直接引入代码的 package,标准库即 golang 官方提供的库. 它们都是十分常用的 package. 本文将 41 个标准库简单分为 6 个类别.
包括基本的数据结构及算法处理如 math、hash、container 等,输入输出如 io、bufio 等,网络库 net、html 等,go 语言自身库如 reflect、errors 等,操作系统库如 sync、time、syscall 等,其它工具库如 flag、database 等.
这 41 个官方标准库不仅是最常用的基本库,提供了许多优秀的基础能力. 也是最优秀的 golang 源码,是十分值得进一步探究的. 详细的 41 个标准库如下图所示.
41 个标准库
问题思考
乍一看,上面那些东西都很熟悉,这些关键字、预定义标识符、标准库都是经常出现在自己的代码中的. 那么下面这些问题你能回答么?