跳到主要内容

源码规则

注释

// line comment; 注释到当前行结束

/*
block comment; 注释可跨越多行
*/

标识符

  • 命名字符: Unicode 字母、Unicode 数字、下划线;
  • 首字符: 必须是 Unicode 字母或下划线;
  • 大小写敏感: nameName 是不同标识符;
  • blank identifier: _, 接收但丢弃一个值;
var userName = "tom" // 普通标识符
_ = userName // _ 丢弃不需要的值

关键字

  • keyword: Go 语法保留词, 不能作为普通标识符;
  • predeclared identifier: 预定义标识符, 可被遮蔽但不推荐;
分类关键字
声明const, func, import, package, type, var
控制流break, case, continue, default, defer, else, fallthrough, for, go, goto, if, range, return, select, switch
类型/并发chan, interface, map, struct

文件规则

  • Go 源文件: 文件名通常以 .go 结尾;
  • package 声明: 每个 .go 文件第一条非注释语句通常为 package;
  • 同一目录: 除测试包外通常只声明一个 package;

换行规则

  • 分号插入: 编译器根据换行位置自动插入分号;
  • 花括号位置: 控制语句和函数声明的左花括号通常放在同一行;
// 左花括号与函数声明同一行; Go 编译器会按规则自动插入分号
func main() {
fmt.Println("ok")
}