当前位置: 首页 > news >正文

01_Go语言基础与环境搭建

第1课:Go语言基础与环境搭建

课程目标

  • 了解Go语言的历史和特点
  • 搭建Go开发环境
  • 理解Go语言的基本语法结构
  • 编写第一个Go程序

1. Go语言简介

1.1 历史背景

  • 2007年由Google开发
  • 2009年正式发布
  • 设计目标:解决大型软件开发的复杂性

1.2 主要特点(与Java对比)

特性GoJava
编译方式编译型编译+解释型
内存管理自动GC自动GC
并发模型goroutine + channelThread + Executor
类型系统静态类型静态类型
包管理go modulesMaven/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. 课后作业

  1. 环境搭建:完成Go环境安装和配置
  2. 第一个程序:编写并运行Hello World程序
  3. 变量练习:创建程序声明不同类型的变量和常量
  4. 包使用:尝试导入和使用不同的标准库包

7. 学习要点总结

  • Go语言是编译型语言,执行效率高
  • 包是Go语言的基本组织单位
  • 变量声明有多种方式,推荐使用短变量声明
  • 常量使用const关键字,支持批量声明
  • iota用于创建递增的常量序列

8. 下一课预告

下一课将学习Go语言的数据类型、控制结构和函数,这是Go语言编程的基础。


学习建议

  1. 多动手练习,不要只看代码
  2. 对比Java和Go的差异,加深理解
  3. 遇到问题及时查阅官方文档
  4. 保持代码的简洁性和可读性
http://www.dtcms.com/a/340574.html

相关文章:

  • 【自记】Power BI 中 ALLNOBLANKROW的适用场景举例
  • 如何选择汽车ECU的加密方法
  • docker 部署
  • 千康BOH是店易开吗?怎么和金蝶云、用友BIP、鼎捷等ERP集成?
  • 趣打印高级版--手机打印软件!软件支持多种不同的连接方式,打印神器有这一个就够了!
  • 云手机在办公场景中的优势体现
  • 云手机在社交媒体场景中的优势体现在哪些方面?
  • AI大模型×政务热线:数造科技打造企业动态画像的“实时监测引擎”
  • 【网站测试:CORS配置错误引发的安全风险及测试】
  • 力扣【2348. 全0子数组的数目】——从暴力到最优的思考过程
  • 数学建模竞赛中评价类相关模型
  • 多人同时导出 Excel 导致内存溢出
  • Linux多线程——线程池
  • 论文见刊后能加通讯作者吗?
  • 【面试题】什么是三次握手四次挥手呢?
  • 黑盒(功能)测试基本方法详解
  • 关于删除gitlab中的分支
  • C语言:第18天笔记
  • DINOv3
  • 【Android】一文详解Android里的AOP编程
  • 专题:2025全球消费趋势与中国市场洞察报告|附300+份报告PDF、原数据表汇总下载
  • 【0基础PS】图片格式
  • LWIP的TCP协议
  • Chrome 中的 GPU 加速合成
  • Google Chrome v139.0.7258.139 便携增强版
  • IP查找的方法、工具及应用场景
  • 让Chrome信任自签名证书
  • Google Chrome 扩展不受信任 - 不受支持的清单版本 解决方案
  • 单北斗GNSS位移监测技术解析
  • 爬虫逆向--Day16Day17--核心逆向案例3(拦截器关键字、路径关键字、请求堆栈、连续请求)