零基础或有其它语言经验的程序员快速了解 Go 的语言特性与基本开发流程,从环境安装、模块初始化、main 程序编写,到使用 go build / go run 执行项目,逐步认识 Go 简洁的语法、内置工具链、高并发优势与工程化能力,最终能独立创建一个可运行的 Go 项目,开启 Go 编程的第一步。

1、Go 简介 

Go(Golang)是 Google 开发的编译型语言
特点:语法简单、编译快、并发强、非常适合后端开发与云原生。

2、安装 Go

安装 Go 语言环境其实很简单:先去 Go 官方网站下载对应操作系统的安装包,安装后确认 go version 能正常输出版本号;然后配置好 GOPATH、GOBIN,并确保把 $GOROOT/bin$GOPATH/bin 加进 PATH,这样就能直接在命令行执行 go 命令;最后新建一个项目目录,go mod init 初始化模块,即可开始写 Go 代码。

官网下载https://go.dev/dl/

安装后检查:

go version

3、创建第一个 Go 项目

从零开始搭建一个最小可运行的 Go 程序:先用 mkdir 创建项目目录并进入,执行 go mod init 初始化模块管理,然后新建 main.go 写一个打印 “Hello, Go!” 的简单主函数,最后用 go run main.go 就能直接运行第一个 Go 程序。这样,就完成了从目录→模块→代码→运行的完整最小流程。

1)新建项目

mkdir hello-go
cd hello-go
go mod init example.com/hello

2)新建 main.go

package main

import "fmt"

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

3)运行

go run main.go

4、Go 常用语法

package main 开头,func main() 是程序入口;变量可以 := 自动推断类型,用 const 定义常量;数组、slice、map 是常用数据结构;if / for / switch 控制流程;func 定义函数,参数与返回值都要写类型;Go 用 goroutine 和 channel 做并发,go f() 启动协程,chan 在协程间传数据;整体特点是语法少、易读、强类型、高并发。

1)变量

name := "Go"
age := 3

2)函数

func add(a int, b int) int {
    return a + b
}

3)切片(Go 里最常用的集合)

nums := []int{1, 2, 3}
nums = append(nums, 4)

4)map(字典)

m := map[string]int{"apple": 3}
m["banana"] = 2

5)结构体 & 方法

type User struct {
    Name string
}

func (u User) Say() {
    fmt.Println("Hi,", u.Name)
}

6)Go 的杀手级能力:并发 goroutine

go func() {
    fmt.Println("goroutine running")
}()

用 channel 通信:

msg := make(chan string)

go func() {
    msg <- "ping"
}()

fmt.Println(<-msg)

推荐文档