Go to Learn Go之第一个Go程序

简介: Go to Learn Go之第一个Go程序

概述

在上一节的内容中,我们介绍了Go的前世今生,包括:Go的诞生、发展历程、特性和应用领域。从本节开始,我们将正式学习Go语言。Go语言是一种编译型语言,也就是说,Go语言在运行之前需要先进行编译,生成可执行文件,然后才能在计算机上运行。在编写第一个Go程序之前,我们还有一些准备工作需要做:安装Go语言环境。

安装Go环境

要开始使用Go语言,我们需要设置Go语言环境。以下是设置Go语言环境的基本步骤。

1、下载Go语言环境安装包。可以从官方网站https://go.dev/dl/下载适用于我们操作系统的安装包,以Windows为例,可以下载go1.21.3.windows-amd64.msi安装包。

image.png

2、双击运行go1.21.3.windows-amd64.msi安装包,默认会安装在C:\Program Files\Go目录,并会自动将Go语言安装目录中的bin文件夹添加到系统环境变量中。

3、验证安装。在命令提示符中输入命令“go version”来验证Go语言是否安装成功,正常情况下,会显示安装的Go语言版本信息。

image.png

完成上述步骤后,我们就可以使用Go语言和集成开发环境(IDE)来编写、编译和运行Go语言程序了。

编写第一个Go程序

我们可以使用Visual Studio Code来编写Go程序。在Visual Studio Code中新建test.go文件,并输入以下代码。

package main

import "fmt"

// this is our first Go program
func main() {
    fmt.Println("Hello, World")
}

上面的Go程序由以下几个部分组成。

包声明:每个Go程序都必须以包声明语句开始。这个程序使用package main声明了要创建的包,其中main是可执行程序的入口点。package main表示一个可独立执行的程序,每个Go程序都包含一个名为main的包。

导入语句:导入语句用来导入需要使用的包,可以是标准库包和自定义包。这个程序使用import "fmt"导入了标准库中的fmt包,用于格式化输入输出。

函数:Go程序可以包含一个或多个函数。这个程序包含一个main函数,它是程序的入口点。函数声明部分使用func main()声明了一个名为main的函数,该函数没有参数和返回值。main函数是每一个可执行程序所必须包含的,一般来说,它是程序启动后第一个执行的函数。

语句和表达式:Go语言中的语句和表达式用于实现程序的流程控制和数据处理。这个程序中的fmt.Println("Hello, World")语句用于输出"Hello, World"。

注释:用于向代码中添加说明和解释,以便其他开发人员更好地理解代码。单行注释是最常见的注释形式,我们可以在任何地方使用以“//”开头的单行注释。多行注释也叫块注释,一般用于包的文档描述或注释成块的代码片段。多行注释以“/*”开头,并以“*/”结尾,且不可以嵌套使用。

编译并运行程序

打开命令提示符,并切换到上述test.go文件所在的文件夹。输入命令:go build test.go,将会编译并生成test.exe。输入命令:./test.exe,将会执行程序并输出"Hello, World"。也可以直接输入命令:go run test.go,来运行程序。

是不是觉得Go程序很简洁?接下来,我们将深入学习Go的基础语法、数据类型等更多的知识,一起Go to Learn Go!


相关文章
|
4月前
|
Go
跳转语句:break、continue、goto -《Go语言实战指南》
本文介绍了 Go 语言中的三种跳转语句:`break`、`continue` 和 `goto`。`break` 用于跳出当前循环或选择结构,如 `for`、`switch` 和 `select`;`continue` 跳过当前循环的剩余部分并进入下一轮;`goto` 实现无条件跳转到指定标签,但需慎用以保持代码清晰。通过示例代码展示了它们的具体用法,并建议优先使用 `break` 和 `continue`,仅在特定场景(如资源清理)下考虑 `goto`。
|
4月前
|
Kubernetes Linux Go
使用 Uber automaxprocs 正确设置 Go 程序线程数
`automaxprocs` 包就是专门用来解决此问题的,并且用法非常简单,只需要使用匿名导入的方式 `import _ "go.uber.org/automaxprocs"` 一行代码即可搞定。
243 78
|
10月前
|
Go 数据处理 开发者
Go 语言的反射机制允许程序在运行时动态检查和操作类型信息,提供极大的灵活性和扩展性
Go 语言的反射机制允许程序在运行时动态检查和操作类型信息,提供极大的灵活性和扩展性。本文探讨了反射的基本原理、主要操作、应用场景及注意事项,并通过实例展示了反射的实际应用,帮助开发者更好地理解和使用这一强大特性。
130 2
|
10月前
|
Go
go语言中的goto 语句
go语言中的goto 语句
183 2
|
12月前
|
Go
Go to Learn Go之命令行参数
Go to Learn Go之命令行参数
96 8
|
12月前
|
Serverless Go
Go to Learn Go之时间日期
Go to Learn Go之时间日期
127 8
|
12月前
|
Go
Go to Learn Go之Gob
Go to Learn Go之Gob
63 8
|
12月前
|
Go
Go to Learn Go之文件操作
Go to Learn Go之文件操作
62 8
|
存储 SQL 自然语言处理
Go语言程序结构分析初探
每一种编程语言都有自己的语法、结构以及自己的风格,这也是每种语言展现各自魅力及众不同的地方。Go也不例外,它简单而优雅,与此同时使用起来也很有趣。在本文中,我们将讨论以下几点: Go程序结构 如何运行Go程序 Go中的注释 分号 代码回顾 Go程序结构 要理解Go程序的结构,首先需要有一个Go程序,让我们重温一下最受欢迎的Hello, World!程序。 package main import "fmt" func main() { fmt.Println("Hello,World!") } 每个源文件(扩展名为.go的文件)必须有一个包声明。
145 0
|
7月前
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。