引入

学一门语言,先得看懂它的代码长什么样。Go 的程序结构非常简洁,没有复杂的配置,几行代码就能跑起来。搞清楚 packageimport、注释这些基础东西,后面写代码才不会卡壳。

正文

定义

定义

Go 基础语法指的是一个 Go 程序最基本的组成部分:包声明、导入、函数入口、注释和代码格式规范。这些是写出合法 Go 代码的前提。

语法

一个最小的 Go 程序长这样:

package main
 
import "fmt"
 
func main() {
    fmt.Println("Hello, World!")
}

几个必须知道的点:

  • 每个 Go 文件必须package 声明开头
  • package main 是可执行程序的入口包
  • func main() 是程序执行的起点

例子

package 声明

// 可执行程序
package main
 
// 工具库包
package utils

package main 表示这个包可以编译成可执行文件。其他名字的包只能被别的包导入使用。

import 导入

// 单个导入
import "fmt"
 
// 批量导入
import (
    "fmt"
    "math"
    "strings"
)

() 可以把多个包写在一起导入,这是最常见的写法

注释

// 单行注释
 
/*
多行注释
可以写很多行
*/

Go 没有文档注释的特殊语法,// 注释写在函数、类型上面就会自动成为文档。

完整示例

package main
 
import (
    "fmt"
    "math"
)
 
// add 返回两个数的和
func add(a int, b int) int {
    return a + b
}
 
func main() {
    result := add(3, 5)
    fmt.Println("结果是:", result)
    fmt.Println("圆周率:", math.Pi)
}

常见写法

写法说明
package main声明可执行包
import "fmt"导入单个包
import ( … )批量导入多个包
// 注释单行注释
/* … */多行注释
go fmt自动格式化代码

特点

  • 每个 .go 文件必须package 声明,且放在文件第一行(注释除外)
  • package 名和文件夹名通常保持一致
  • import 必须写在 package 声明之后、代码之前
  • Go 不需要写分号,编译器会自动处理
  • go fmt 统一代码格式,不用自己纠结缩进和空格
  • 大括号 { 必须和声明在同一行,不能换行写
// 正确
func main() {
    fmt.Println("ok")
}
 
// 错误,编译不过
func main()
{
    fmt.Println("err")
}

理解

Go 的基础语法设计得很克制,就是为了简单、统一package 管代码组织,import 管依赖引入,main 函数管程序入口。没有类、没有注解、没有配置文件,一个文件就能跑。这种”少即是多”的思路贯穿整个语言。

引出

基础语法搞定了,下一步就是学怎么存数据。接下来看 Go 变量,搞清楚 Go 里怎么声明和使用变量。