Go 语言入门指南:基础语法和常用特性解析|青训营

81 阅读2分钟

1 main 函数概览

package main //包声明

func main(){ //方法关键字
    print(args...:"Hello, Go!") //输出语句
}

main函数要点

  • 无参数、无返回值
  • main 方法必须要在 main 包里面
  • go run main.go就可以执行
  • 如果文件不叫main.go,则需要go build得到可运行的文件,直接运行就可以

2 package 声明

  • 语法形式:package xxx
  • 字母和下划线的组合
  • 可以和文件夹不同名字
  • 同一个文件夹下的声明一致
  • 引入包语法形式:import [alias] xxx
  • 如果一个包引入了但是没有使用,会报错
  • 匿名引入:前面多一个下划线

3 string 和基础类型

string :

  • 双引号引起来,则内部双引号需要使用\转义
  • 引号引起来,则内部需要\转义

string 的长度很特殊:

  • 字节长度:和编码无关,用len(str)获取
  • 字符数量:和编码有关,用编码库来计算

strings 包:

  • string的拼接直接使用 + 号就可以。某些语言支持 string 和别的类型拼接,但是 golang 不可以
  • strings 主要方法(你所需要的全部都可以找到):
    • 查找和替换
    • 大小写转换
    • 子字符串相关
    • 相等

rune 类型

  • rune 就是字符
  • rune 不是 byte
  • rune 本质是 int32,一个 rune 四个字节.
  • rune 在很多语言里面是没有的,与之对应的是,golang 没有 char 类型。rune 不是数字也不是 char ,也不是 byte
  • 实际中不太常用

bool, int, uint, float

  • bool: true, false
  • int8, int16, int32, int64, int
  • uint8, uint16, uint32, uint64, uint
  • float32, float64

byte 类型

  • byte,字节,本质是 uint8
  • 对应的操作包在 bytes 上

4 变量声明

变量声明 var

  • var,语法:var name type = value
    • 局部变量
    • 包变量
    • 块声明
  • 驼峰命名
  • 首字符是否大写控制了访问性: 大写包外可访问
  • golang支持类型推断

变量声明 :=

  • 只能用于局部变量,即方法内部
  • golang 使用类型推断来推断类型。数字会被理解为 int 或者 float64 。 (所以要其它类型的数字,就得用 var 来声明)
func main(){
    a := 13
    println(a)
    b := "你好"
    println(b)
}

变量声明易错点

  • 变量声明了没有使用
  • 类型不匹配
  • 同作用域下,变量只能声明一次

常量声明 const

  • 首字符是否大写控制了访问性:大写包外可访问
  • 驼峰命名
  • 支持类型推断
  • 无法修改值

5 方法声明与调用

四个部分:

  • 关键字 func
  • 方法名字:首字母是否大写决定了作用域
  • 参数列表:[<name type>]
  • 返回列表:[<name type>]

方法声明(推荐写法)

  • 参数列表含有参数名
  • 返回值不具有返回值名

方法调用

  • 使用_忽略返回值