从 Hello World 开始,手把手教你写第一个 Go 程序

r囧r小猫 2024-04-01 19:47 236阅读 0赞

1、开发编辑器

Go 采用的是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做 Go 语言开发,这里推荐使用 VS Code 和 Goland。

VS Code 是微软开源的编辑器,而 Goland 是 jetbrains 出品的付费IDE。GoLand 开发工具时收费的,免费试用1个月,到期后可以尝试卸载再重装,目前该工具没有特别好的破解教程。我们这里使用VS Code 加插件做为 Go 语言的开发工具。

2、VS Code 安装 Go 插件

VsCode 的安装及中文汉化不在详细介绍,有需要的小伙伴参考其他文章,我们直接打开 VS Code 在扩展中搜索 GO,如下图:

在这里插入图片描述
点击安装,然后重启 VsCode

3、第一个 Go 程序

3.1、Hello World

1、先创建一个新的文件夹,例如:go_demo 用于存储我们学习过程中的 Go 项目,然后在 go_demo 目录下创建我们第一个 Go 程序 HelloWorld 文件夹,最后通过 VSCode 打开此文件夹,如下图

在这里插入图片描述
在这里插入图片描述
2、使用go module模式新建项目时,我们需要通过go mod init 项目名命令对项目进行初始化。

  1. # 项目初始化
  2. go mod init HelloWorld

该命令会在项目根目录下生成go.mod文件。如下图

在这里插入图片描述
3、新建一个Go文件, VSCode会激活Go插件,提示的工具全部安装就行了,如下图:

在这里插入图片描述
如果此时VSCode右下角弹出提示让你安装插件,务必点 install all 进行安装。等待安装完成,我们的VSCode就可以正常使用了。

4、编写代码

  1. // 声明 main 包,表明当前是一个可执行程序
  2. package main
  3. // 导入内置 fmt 包
  4. import "fmt"
  5. // main函数,是程序执行的入口
  6. func main(){
  7. // 在终端打印 Hello World
  8. fmt.Println("Hello World")
  9. }

然后继续在终端中手动执行go文件,输入指令go run 文件名,如下图:

在这里插入图片描述

5、编译打包

在终端中手编译 go 文件,输入指令 go build 文件名

  1. # 启动运行命令
  2. go run csdn.go
  3. # 编译打包命令
  4. go build csdn.go
  5. # 可以以使用 -o 参数来指定编译后得到的可执行文件的名字。
  6. go build -o csdn_vip

6、每日一记

6.1、自动推导类型

自动推导类型,在声明赋值变量时,不需要 var 和变量类型,其类型是由所赋值来决定的。

基本语法格式:“变量名 := 值”。

多重赋值语法格式:“变量名1,变量名2,变量名3 := 值1,值2,值3”

  1. // 声明 main 包,表明当前是一个可执行程序
  2. package main
  3. // 导入内置 fmt 包
  4. import "fmt"
  5. // main函数,是程序执行的入口
  6. func main() {
  7. // 第一种写法
  8. var a int // 声明变量
  9. a = 1 // 变量赋值
  10. // 第二种写法
  11. var b int = 1 // 变量的初始化,声明变量并赋值
  12. // 第三种写法,Go 语言常用写法
  13. c := 1 // 自动推导类型,必须初始化,通过初始化的值确定类型
  14. // %v 值的默认格式表示
  15. // %+v 类似%v,但输出结构体时会添加字段名
  16. // %#v 值的Go语法表示
  17. // %T 值的类型的Go语法表示
  18. // %% 百分号
  19. // 在终端打印 a
  20. fmt.Printf("a 的数据类型是:%T,值:%v\n", a, a)
  21. // 在终端打印 b
  22. fmt.Printf("b 的数据类型是:%T,值:%v\n", b, b)
  23. // 在终端打印 c
  24. fmt.Printf("c 的数据类型是:%T,值:%v\n", c, c)
  25. }

代码运行结果:

  1. a 的数据类型是:int,值:1
  2. b 的数据类型是:int,值:1
  3. c 的数据类型是:int,值:1

6.2、匿名变量

在编码过程中,可能会遇到没有名称的变量、类型或方法。虽然这不是必须的,但有时候这样做可以极大地增强代码的灵活性,这些变量被统称为匿名变量。

匿名变量的特点是一个下画线“”,“”本身就是一个特殊的标识符,被称为空白标识符。它可以像其他标识符那样用于变量的声明或赋值(任何类型都可以赋值给它),但任何赋给这个标识符的值都将被抛弃,因此这些值不能在后续的代码中使用,也不可以使用这个标识符作为变量对其它变量进行赋值或运算。使用匿名变量时,只需要在变量声明的地方使用下画线替换即可。例如:

  1. // 声明 main 包,表明当前是一个可执行程序
  2. package main
  3. import "fmt"
  4. // 导入内置 fmt 包
  5. // main函数,是程序执行的入口
  6. func main() {
  7. // 第一种方法
  8. a, b := GetData()
  9. // 在终端打印 a 和 b
  10. fmt.Printf("a 的数据类型是:%T,值:%v;b 的数据类型是:%T,值:%v\n", a, a, b, b)
  11. // 第二种写法,只需要第一个返回值,把第二个返回值定义为匿名变量
  12. c, _ := GetData()
  13. // 第二种写法,只需要第二个返回值,把第一个返回值定义为匿名变量
  14. _, d := GetData()
  15. // 在终端打印 c 和 d
  16. fmt.Printf("c 的数据类型是:%T,值:%v;d 的数据类型是:%T,值:%v\n", c, c, d, d)
  17. }
  18. // 定义一个函数,第一个返回整型值,第二个返回字符
  19. func GetData() (int, string) {
  20. return 2022, "Hello World"
  21. }

代码运行结果:

  1. a 的数据类型是:int,值:2022b 的数据类型是:string,值:Hello World
  2. c 的数据类型是:int,值:2022d 的数据类型是:string,值:Hello World

本文教程到此结束,小伙伴们可以愉快的开启编程之旅。

发表评论

表情:
评论列表 (有 0 条评论,236人围观)

还没有评论,来说两句吧...

相关阅读