文章目录
- 前言
- 1. Go 语言简介
- 1.1 Go 语言是什么?
- 1.2 Go 语言的应用场景
- 2. Go 语言开发环境
- 2.1 安装 Go
- 2.2 配置 Go 环境
- 2.3 Hello, World!(第一个 Go 程序)
- 3. Go 语言基础语法
- 3.1 变量与常量
- 3.2 数据类型
- 3.3 条件判断与循环
- 3.4 数组与切片(slice)
- 3.5 Map(哈希表)
- 4. Go语言函数
- 5. Go语言并发编程(Goroutine & Channel)
- 5.1 Goroutine(轻量级线程)
- 5.2 Channel(通道)
前言
✅ 适合人群: Golang 新手 | 后端开发者 | 面试求职者
✅ 文章亮点: 语法详解 + 实战代码 + 高质量示例
✅ 目标: 10 分钟快速掌握 Golang 基础语法,助你高效写项目!
1. Go 语言简介
1.1 Go 语言是什么?
Go 语言(Golang)是 Google
开发的一门 静态强类型
、并发支持强
、语法简洁
的编程语言,广泛应用于后端开发
、云计算
、微服务
、区块链
等领域。
🔹 Go 语言的 4 大核心特点:
✅ 语法简洁(减少代码冗余,开发高效)
✅ 高性能(比 Python 快,比 Java 简单)
✅ 内置并发(Goroutine 让并发更简单)
✅ 跨平台(支持 Windows、Linux、Mac)
1.2 Go 语言的应用场景
📌 后端开发(Gin + GORM)
📌 微服务架构(gRPC + Docker + Kubernetes)
📌 高并发系统(消息队列、短链接)
📌 云计算(K8s、Serverless)
📌 区块链(Ethereum、Hyperledger)
2. Go 语言开发环境
2.1 安装 Go
👉 官网下载 Go:https://go.dev/dl/
2.2 配置 Go 环境
Windows / macOS / Linux 安装后,执行以下命令检查环境:
go version # 查看 Go 版本
go env # 查看 Go 配置
2.3 Hello, World!(第一个 Go 程序)
创建 main.go
文件,写入以下代码:
packge main import "fmt"func main() {fmt.Println("Hello Golang!")
}
执行代码命令:
go run main.go
3. Go 语言基础语法
3.1 变量与常量
变量声明
package mainimport "fmt" func main() {var name string = "Golang" // 标准声明var age int = 20 // 显示声明city := "深圳" // 类型推导fmt.Println(name, age, city) // 控制台输出
}
常量
const Pi = 3.141592 // 常量不能被修改
const (Monday = 1TuesdayWednesday
)
3.2 数据类型
类型 | 说明 |
---|---|
int | 整型 |
float | 浮点数 |
string | 字符串 |
bool | 布尔值 |
array | 数组 |
slice | 切片 |
map | 哈希表 |
struct | 结构体 |
var a int = 10
var b float64 = 3.1415
var c bool = true
var d string = "张三"
fmt.Println(a, b, c, d)
3.3 条件判断与循环
if age := 18 age >= 18 {fmt.Plintln("成年人")
} else {fmt.Plintln("未成年人")
}
switch day := "Monday"; day {
case "Monday":fmt.Println("今天是周一")
case "Friday":fmt.Println("今天是周五")
default:fmt.Println("普通工作日")
}
for i := 0; i <= 5; i++ {fmt.Println(i)
}
3.4 数组与切片(slice)
arr := [3]int{1, 2, 3} // 数组,长度固定
slice := []int{4, 5, 6, 7} // 切片,长度可变
fmt.Println(arr, slice)
使用append函数可以向切片末尾追加一个或多个元素。如果追加的元素超出了当前切片的容量,append会分配一个新的底层数组,并将原切片的内容以及新元素复制到新数组中。
slice = append(slice, 7, 8) // 追加元素
fmt.Println(slice[1:3]) // 切片截取
3.5 Map(哈希表)
person := map[string]int{"Alice": 25, "Bob": 30}
fmt.Println(person["Alice"])person["Zhangsan"] = 24
delete(person, "Bob")
4. Go语言函数
func add(a int, b int) int {return a+b
}func main() {result := add(7, 9)fmt.Println(result)
}
匿名函数
sum := func(a, b int) int { return a + b}
fmt.Println(sum(45, 9))
5. Go语言并发编程(Goroutine & Channel)
5.1 Goroutine(轻量级线程)
package mainimport ("fmt""time"
)func hello() {fmt.Println("Hellon Goroutine!")
} func main() {go hello()time.Sleep(time.Second)
}
5.2 Channel(通道)
package mainfunc main(){ch := make(chan string)go func() {ch <- "Hello, Channel!"}()fmt.Println(<-ch)
}