Go 的语法设计简洁、工程化,适用于从小型脚本到高并发后端与云原生应用。本文介绍 Go 代码的执行方式、代码块与格式化、变量声明与赋值、以及注释,并配有对应示例。

1、执行 Go 代码

Go 程序一般从一个名为 main.go 的文件开始执行,代码如下,

package main
import "fmt"

func main() {
    fmt.Println("Hello, Go!")
}

1)直接运行

在 terminal / cmd 中进入文件所在目录后运行:

go run main.go

也可以直接执行整个模块:

go run .

2)编译成可执行文件再执行

go build -o app ./app

Windows 下执行:

go build -o app.exe .\app.exe

一般推荐在项目目录先初始化模块,会更符合 Go 工程化习惯,

go mod init example.com/demo

之后就可以用 go run .go build 来执行整个项目。

2、代码块与格式化(缩进说明)

Go 不靠缩进来划分代码块,而是使用花括号 {}。官方工具 gofmt/go fmt 会强制统一风格(一个 Tab 缩进、花括号不换行等)。Go 的代码格式不是开发者自己决定,是工具格式化决定的,格式必须一致。

1)正确示例代码

if 5 > 3 {
    fmt.Println("cjavapy")
}

2)缺少大括号将报错

if 5 > 3
    fmt.Println("cjavapy")

常见报错:

syntax error: unexpected newline, expecting { after if clause

注意:缩进在 Go 中主要是“可读性”,不是语义;但请始终使用 go fmt ./...来统一格式,否则 CI/代码审查会不通过。

3、变量声明与赋值

Go 里既可以显式声明,也可以短变量声明。

// 显式声明
var x int = 5
var y string = "Hello, World!"

// 类型推断
var a = 10
var b = "Go"

// 短变量声明(仅函数内部可用)
c := 3.14
msg := "Hi"

常量使用 const

const Pi = 3.14159

注意:

包级变量必须用 varconst,不能用 :=。每种类型都有零值(如 int0string"",指针/切片/map/chan 为 nil)。多返回值与空标识符 _ 很常用:

val, ok := m["key"] _ = val // 忽略值时可用 _

4、Go 代码注释

Go 支持单行注释多行注释。

// 这是单行注释
fmt.Println("Hello, World!")

/*
这是多行注释
可用于屏蔽大段说明
*/

约定俗成:包、导出函数/方法/类型前的注释用于文档生成(go doc / pkgsite),应以被注释的名字开头。

5、完整示例代码

package main

import (
    "fmt"
)

func add(a, b int) int { // 多参数同类型可合并
    return a + b
}

func main() {
    // 短变量声明(函数内)
    x := 5
    y := "Hello, World!"

    fmt.Println(y)
    fmt.Println("sum:", add(x, 7))
}

推荐文档