01_Go语言基础与环境搭建
第1课:Go语言基础与环境搭建
课程目标
- 了解Go语言的历史和特点
- 搭建Go开发环境
- 理解Go语言的基本语法结构
- 编写第一个Go程序
1. Go语言简介
1.1 历史背景
- 2007年由Google开发
- 2009年正式发布
- 设计目标:解决大型软件开发的复杂性
1.2 主要特点(与Java对比)
特性 | Go | Java |
---|---|---|
编译方式 | 编译型 | 编译+解释型 |
内存管理 | 自动GC | 自动GC |
并发模型 | goroutine + channel | Thread + Executor |
类型系统 | 静态类型 | 静态类型 |
包管理 | go modules | Maven/Gradle |
1.3 适用场景
- 微服务架构
- 云原生应用
- 网络服务
- 系统工具
2. 环境搭建
2.1 安装Go
# Windows
# 下载安装包:https://golang.org/dl/
# 或使用包管理器
winget install GoLang.Go# 验证安装
go version
2.2 配置环境变量
# 设置GOPATH(Go 1.11+推荐使用go modules)
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin# 设置GOPROXY(国内用户)
go env -w GOPROXY=https://goproxy.cn,direct
2.3 IDE选择
- VS Code + Go扩展(推荐)
- GoLand(JetBrains出品,功能强大)
- Vim/Emacs + Go插件
3. 第一个Go程序
3.1 Hello World
package mainimport "fmt"func main() {fmt.Println("Hello, Go!")
}
3.2 程序结构解析
package main
:声明主包import "fmt"
:导入格式化包func main()
:主函数(程序入口)
3.3 运行程序
# 直接运行
go run hello.go# 编译后运行
go build hello.go
./hello.exe # Windows
./hello # Linux/Mac
4. Go语言基本语法
4.1 包管理
// 单包导入
import "fmt"// 多包导入
import ("fmt""os"
)// 别名导入
import f "fmt"
import _ "database/sql" // 只执行init函数
4.2 变量声明
// 显式类型声明
var name string = "Go"// 类型推断
var age = 25// 短变量声明(函数内)
func example() {count := 10fmt.Println(count)
}// 批量声明
var (a intb stringc bool
)
4.3 常量
const (Pi = 3.14159Version = "1.0.0"
)// iota(枚举)
const (Sunday = iota // 0Monday // 1Tuesday // 2
)
5. 实践练习
5.1 练习1:变量和常量
package mainimport "fmt"func main() {// 声明不同类型的变量var name string = "张三"var age int = 30var salary float64 = 15000.50// 使用短变量声明city := "北京"// 声明常量const company = "Go科技有限公司"// 输出信息fmt.Printf("姓名:%s\n", name)fmt.Printf("年龄:%d\n", age)fmt.Printf("薪资:%.2f\n", salary)fmt.Printf("城市:%s\n", city)fmt.Printf("公司:%s\n", company)
}
5.2 练习2:包导入练习
package mainimport ("fmt""math""time"
)func main() {// 使用math包fmt.Printf("π的值:%.6f\n", math.Pi)fmt.Printf("2的平方根:%.6f\n", math.Sqrt(2))// 使用time包now := time.Now()fmt.Printf("当前时间:%s\n", now.Format("2006-01-02 15:04:05"))
}
6. 课后作业
- 环境搭建:完成Go环境安装和配置
- 第一个程序:编写并运行Hello World程序
- 变量练习:创建程序声明不同类型的变量和常量
- 包使用:尝试导入和使用不同的标准库包
7. 学习要点总结
- Go语言是编译型语言,执行效率高
- 包是Go语言的基本组织单位
- 变量声明有多种方式,推荐使用短变量声明
- 常量使用
const
关键字,支持批量声明 iota
用于创建递增的常量序列
8. 下一课预告
下一课将学习Go语言的数据类型、控制结构和函数,这是Go语言编程的基础。
学习建议:
- 多动手练习,不要只看代码
- 对比Java和Go的差异,加深理解
- 遇到问题及时查阅官方文档
- 保持代码的简洁性和可读性