Skip to content

Go语法

1 文章收藏

Go by Example mmcgrana/gobyexample
Go语言圣经 https://golang-china.github.io/

2 关键字

先后顺序按照 Go by example 出现顺序

package 声明包
import 导入包
func 声明函数
const 声明常量
var 声明一个变量
for 唯一循环
range 遍历数组、切片、map、字符串或channe
break 跳出循环或标签
if 条件语句
else if语句的否定分支
switch 条件分支语句
case 匹配switch语句中的一个分支
default 在switch语句中设置默认分支
interface 声明一个接口
map 声明和操作map映射
return 结束函数并返回值
type 声明一个新的类型
struct 声明一个结构体

关键字 描述
chan 声明和操作channel通道
continue 跳过当前循环迭代并继续下一个
defer 推迟一个函数的执行直到周围函数返回
fallthrough 强制执行switch的下一个case
go 启动一个goroutine并发执行函数
goto 跳转到指定的代码行
select 多路复用通道操作

3 基本类型

  • bool:布尔类型,取值为 truefalse

2.1 有符号整数

  • int:根据系统不同,32 位或 64 位。
  • int8:8 位有符号整数,范围为 -128 到 127。
  • int16:16 位有符号整数,范围为 -32768 到 32767。
  • int32:32 位有符号整数,范围为 -2147483648 到 2147483647。
  • int64:64 位有符号整数,范围为 -9223372036854775808 到 9223372036854775807。

2.2 无符号整数

  • uint:根据系统不同,32 位或 64 位。
  • uint8:8 位无符号整数,范围为 0 到 255。
  • uint16:16 位无符号整数,范围为 0 到 65535。
  • uint32:32 位无符号整数,范围为 0 到 4294967295。
  • uint64:64 位无符号整数,范围为 0 到 18446744073709551615。

2.3 特殊整数类型

  • uintptr:用于存储指针的整数类型,其大小取决于指针的位数。

2.3.1 浮点类型

  • float32:32 位浮点数。
  • float64:64 位浮点数。

2.3.2 复数类型

  • complex64:实部和虚部都是 32 位浮点数。
  • complex128:实部和虚部都是 64 位浮点数。

2.4 字符串类型

  • string:字符串类型,存储 UTF-8 编码的文本。

4 内建函数

  • 基础函数:len, cap, new, make, append, copy, delete
  • 类型转换:complex, real, imag(用于复数),close(用于关闭通道)等。
  • 错误恢复:panic, recover