Go语言基础语法
-
包声明关键字——package
语法:package 包名 -
包导入关键字——import
语法: import (["库名1" \newline "库名2" ...]) -
函数声明关键字——func
语法: func 函数名([参数名1 参数类型1,参数名2 参数类型2, ...]) ([返回类型1, 返回类型2, ...]) {函数体} -
常量声明关键字——const
语法: const 变量名1[, 变量名2, ...] [[数组大小1][数组大小2]...][数据类型] = 值1[, 值2, ...] -
变量声明关键字——var
语法: var 变量名1[, 变量名2, ...] [[数组大小1][数组大小2]...][数据类型] = 值1[, 值2, ...] -
特殊初始化符号——:=
将符号右边的值作为初始值,如$1 := float32($2), $1 = $2 + "abc" -
条件选择关键字——if
语法: if 表达式 {执行语句} [else if 表达式 {执行语句} ...] [else {执行语句}] -
分支语句关键字——switch
语法1: switch 变量或常量 {case 值1: 执行语句1 [case 值2: 执行语句2 ...] default: 默认执行语句}
语法2: switch {case 表达式1: 执行语句1 [case 表达式2: 执行语句2 ...] default: 默认执行语句} -
循环关键字——for
语法1: (死循环) for {循环体}
语法2: for 初始化;判断执行语句;循环结束执行语句 {循环体}
语法3: (相当于while循环) for 表达式 {循环体} -
切片关键字——make
语法: arr = make(变量类型, 切片大小)
下标取值语法: arr[起始下标:结束下标],取值左闭右开 -
哈希表关键字——map
语法: m = make(map[键类型]值类型) tips:值类型设为struct{}可以让哈希表只存储键从而节省空间
删除键: delete(哈希表变量名, 键值) -
区间遍历关键字——range
语法: 对切片使用for val := range $slice或对哈希表使用for k, v := $map 可以实现快速遍历 -
指针关键字*
语法: 指针名 *变量类型 表示一个指向对应类型的指针 -
结构体struct
语法: type 结构体类型名称 struct {[变量声明语句]}
结构体函数: 在基本的函数声明语法中的func后添加 (结构体名 [*]结构体类型名称) 来指定结构体内部函数。 tips:带指针表示可以对结构体进行修改,不带表示不行 -
错误处理类型error
通常在函数返回值中加入,如声明函数时使用 func f() (变量名1 变量类型1, err error) -
字符串处理
内置函数: Contains Count HasPrefix HasSuffix Index Join Repeat Replace Split ToUpper ToLower
打印函数: printf 使用%v打印变量, %+v打印详细结果, %#v打印更详细结果 -
JSON处理
结构体中变量名首字母大写即可调用json.Marshal序列化以及json.Unmarshal反序列化 -
时间处理包time
time.Now()获取当前时间, time.Date(年,月,日,时,分,秒,0,时区) -
数字解析包strconv
常用函数: ParseFloat ParseInt Atoi -
操作系统相关包os
os.Args获取参数, os.Getenv获取环境变量, os.Setenv设置环境变量, exec.Command(arg0, arg1, ...)执行命令行