一架梯子,一头程序猿,仰望星空!
Golang程序设计教程(2024版) > 内容正文

初探Go:从Hello World到程序构建


1 Go程序的基本结构

Go 语言的程序由包的声明开始,接着是导入需要的包,然后是包级别的变量、常量、类型声明等,最后是包内包含的函数。以Hello World为例,以下是一个典型的Go程序的基本结构:

package main // 声明main包,表示一个可独立执行的程序

import "fmt" // 导入fmt包,包含输入输出函数

// main函数,程序开始执行的入口点
func main() {
    fmt.Println("Hello, World!") // 输出Hello World到终端
}

包的概念和作用

在Go语言中,包(Package)是多个Go源文件的集合,是一种高级的代码复用方案。Go语言的每个文件都属于一个包,而包名应当与所在目录名称相同。

源码文件命名规则

Go源文件的命名一般遵循小写字母组成,且不包含空格或特殊字符,如 hello_world.go。源码文件名不需要与包名一致,但同一个包中的所有文件的包声明语句中的包名应该一致。

程序中的注释使用

在Go语言中,注释有单行注释和多行注释两种形式。单行注释以 // 开头,多行注释以 /* 开头,并以 */ 结尾,注释的内容会被编译器忽略。

// This is a single-line comment

/*
This is a multi-line comment
which spans over multiple
lines.
*/

2 main函数和程序的入口

在Go语言的程序中,main 函数被特别设计为程序的入口点。Go运行时会自动调用main包中的main函数开始执行程序。

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

main 函数没有参数,也没有返回值。程序执行完main函数后会自动结束。如果需要在程序退出时返回状态码,应使用 os.Exit 函数。

3 构建并运行程序

使用 go build 命令

运行 go build 命令会编译源代码文件,并生成可执行文件。在终端中,转至源文件所在的目录,然后输入以下命令:

go build hello_world.go

成功执行后,你将在当前目录下看到一个名为 hello_world(或在Windows下为 hello_world.exe)的可执行文件。

使用 go run 命令

go run 命令将编译并运行Go程序,这对于快速测试和开发非常方便。要运行Hello World程序,可以输入:

go run hello_world.go

执行这个命令后,你应立即在终端看到 "Hello, World!" 的输出。

4 程序的输出

在Go程序中,可以使用 fmt 包提供的 Println 函数来将信息输出到终端。以下是输出 "Hello, World!" 到终端的代码示例:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!") // 输出到终端
}

执行程序后,输出结果可以在命令行终端中直接查看。此外,还可以使用 log 包,或直接操作标准输出流 os.Stdout 来实现更复杂的输出需求。

import "os"
os.Stdout.WriteString("Hello, World!\n") // 直接操作标准输出流
import "log"
log.Println("Hello, World!") // 使用log包输出,会附上日期和时间信息

这些基础的输出方法是与用户进行简单交互的重要途径,也常用于调试程序以打印关键信息。