Go 语言基础语法(极简版) | 青训营

123 阅读2分钟

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, ...)执行命令行