• 第一个 Go 程序,从 Hello World 开始


    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 项目名命令对项目进行初始化。

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

    该命令会在项目根目录下生成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")
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

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

    在这里插入图片描述

    5、编译打包

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

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

    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)
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    代码运行结果:

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

    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"
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    代码运行结果:

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

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

  • 相关阅读:
    PyQt 定义控件SwitchButton 指南
    Golang实现JAVA虚拟机-指令集和解释器
    [附源码]Python计算机毕业设计jspm郫县兼职信息系统
    多地如何组网?如何异地组网?
    vscode常用插件
    知识蒸馏(Knowledge Distillation)
    Ubuntu和Windows共享目录设置
    QWeb 语法
    Wireshark基本使用方法
    【Unity编辑器扩展】| SceneView面板扩展
  • 原文地址:https://blog.csdn.net/u011374856/article/details/127905604