文章目录
前言
✅ 适合人群: 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 main
import "fmt"
func main() {
var name string = "Golang" // 标准声明
var age int = 20 // 显示声明
city := "深圳" // 类型推导
fmt.Println(name, age, city) // 控制台输出
}
常量
const Pi = 3.141592 // 常量不能被修改
const (
Monday = 1
Tuesday
Wednesday
)
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 main
import (
"fmt"
"time"
)
func hello() {
fmt.Println("Hellon Goroutine!")
}
func main() {
go hello()
time.Sleep(time.Second)
}
5.2 Channel(通道)
package main
func main(){
ch := make(chan string)
go func() {
ch <- "Hello, Channel!"
}()
fmt.Println(<-ch)
}