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

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 打开此文件夹,如下图

从 Hello World 开始,手把手教你写第一个 Go 程序_第1张图片
从 Hello World 开始,手把手教你写第一个 Go 程序_第2张图片
2、使用go module模式新建项目时,我们需要通过go mod init 项目名命令对项目进行初始化。

# 项目初始化
go mod init HelloWorld

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


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


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

4、编写代码

// 声明 main 包,表明当前是一个可执行程序
package main

// 导入内置 fmt 包
import "fmt"

// main函数,是程序执行的入口
func main(){
	// 在终端打印 Hello World
	fmt.Println("Hello World")
}

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

从 Hello World 开始,手把手教你写第一个 Go 程序_第3张图片

5、编译打包

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

# 启动运行命令
go run csdn.go

# 编译打包命令
go build csdn.go

# 可以以使用 -o 参数来指定编译后得到的可执行文件的名字。
go build -o csdn_vip

6、每日一记

6.1、自动推导类型

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

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

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

// 声明 main 包,表明当前是一个可执行程序
package main

// 导入内置 fmt 包
import "fmt"

// main函数,是程序执行的入口
func main() {

	// 第一种写法
	var a int // 声明变量
	a = 1     // 变量赋值

	// 第二种写法
	var b int = 1 // 变量的初始化,声明变量并赋值

	// 第三种写法,Go 语言常用写法
	c := 1 // 自动推导类型,必须初始化,通过初始化的值确定类型

	// %v	值的默认格式表示
	// %+v	类似%v,但输出结构体时会添加字段名
	// %#v	值的Go语法表示
	// %T	值的类型的Go语法表示
	// %%	百分号

	// 在终端打印 a
	fmt.Printf("a 的数据类型是:%T,值:%v\n", a, a)
	// 在终端打印 b
	fmt.Printf("b 的数据类型是:%T,值:%v\n", b, b)
	// 在终端打印 c
	fmt.Printf("c 的数据类型是:%T,值:%v\n", c, c)
}

代码运行结果:

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

6.2、匿名变量

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

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

// 声明 main 包,表明当前是一个可执行程序
package main

import "fmt"

// 导入内置 fmt 包

// main函数,是程序执行的入口
func main() {

	// 第一种方法
	a, b := GetData()
	// 在终端打印 a 和 b
	fmt.Printf("a 的数据类型是:%T,值:%v;b 的数据类型是:%T,值:%v\n", a, a, b, b)

	// 第二种写法,只需要第一个返回值,把第二个返回值定义为匿名变量
	c, _ := GetData()

	// 第二种写法,只需要第二个返回值,把第一个返回值定义为匿名变量
	_, d := GetData()
	// 在终端打印 c 和 d
	fmt.Printf("c 的数据类型是:%T,值:%v;d 的数据类型是:%T,值:%v\n", c, c, d, d)
}

// 定义一个函数,第一个返回整型值,第二个返回字符
func GetData() (int, string) {
	return 2022, "Hello World"
}

代码运行结果:

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

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

你可能感兴趣的:(Go,语言,golang,vscode,go,第一,hello,world)