hello world的输出解析 | 青训营
Let’s Go!
基本语法
Hello World
首先,让我们看看 Hello world 程序中发生了什么?
package main
import "fmt"
// This is discription
func main() {
fmt.Println("Hello, World!")
}
让我们来看下以上程序的各个部分:
Package声明
代码以 package main
开头,表明这个Go文件属于 main
包。在Go中,每个可执行程序都必须有一个 main
包,并且在 main 包中必须有一个main()
函数作为程序的入口点。
导入语句
使用 import "fmt"
导入了 fmt
包。fmt
包是Go标准库中的一个包,提供了输入输出和格式化文本的功能。在本代码中,使用了 fmt.Println()
函数来输出文本。
注释
// This is description
是一行注释。在Go中,使用//表示单行注释,用于向代码中添加解释和说明。
main函数
在Go程序中,main()
函数是程序的入口点。当程序执行时,它会首先执行 main()
函数。在这段代码中,main()
函数简单地调用 fmt.Println()
函数,将字符串"Hello, World!"
输出到控制台。
执行输出
代码通过调用 fmt.Println("Hello, World!")
将 “Hello, World!”
这个字符串输出到终端。fmt.Println()
函数是一个方便的方法,用于在控制台输出文本,并在输出的最后自动添加一个换行符。
注意:在Go中,函数名首字母的大小写决定了该函数的可见性。
如果函数名以大写字母开头,那么它是可导出的 ,其他包可以访问该函数。(类似面向对象语言中的 public)
如果函数名以小写字母开头,它是私有的,其他包无法访问该函数。(类似面向对象语言中的 protected )
在这个例子中,main()
函数是可导出的,因为它以大写字母开头,允许被其他包调用。
变量和常量 在Go中,变量和常量的声明有一些不同。以下是它们的声明方式和特点
变量声明:
使用关键字var
来声明一个变量,语法为:var variableName dataType
变量名必须以字母或下划线开头,可以包含字母、数字和下划线,但不能使用Go的关键字。
可以一次性声明多个变量,例如:var x, y int
如果声明时未初始化变量,则变量会被赋予其数据类型的零值,比如:int类型的零值是0,string类型的零值是空字符串""。
可以使用短变量声明来创建并初始化变量,语法为:variableName := value
示例:
var age int // 声明一个整数变量 age
var name string // 声明一个字符串变量 name
var x, y int // 声明两个整数变量 x, y
x = 10 // 给 x 赋值 10
name = "John" // 给 name 赋值 "John"
var count = 5 // 声明一个整数变量 count 并初始化为 5
email := "**********" // 使用短变量声明声明一个字符串变量 email 并初始化为 "**********"
在Go中,变量声明后必须使用,否则会导致编译错误。
Tips: 如果想要声明一个变量但不使用它,可以使用下划线 _ 来代替变量名,表示该变量被丢弃,不会占用内存空间。例如:
_ = 100 // 声明一个未使用的变量并初始化为 100,但在后续代码中并不使用该变量
总结:Go中的变量声明可以使用var关键字或短变量声明。变量声明时可以指定数据类型和初始值。未使用的变量可以使用下划线 _ 来代替。
常量声明:
使用关键字const
来声明常量,语法为:const constantName dataType = value
常量的值在声明时必须初始化,并且一旦赋值不能再修改。
常量可以是字符、字符串、布尔值或数值类型(整数、浮点数)。
常量名的命名规则与变量相同,以字母或下划线开头,可以包含字母、数字和下划线,但不能使用Go的关键字。
常量的值必须是一个编译时可以确定的表达式,例如:const PI = 3.14
示例:
const PI = 3.14 // 声明一个名为 PI 的常量并赋值为 3.14
const appName = "MyApp" // 声明一个名为 appName 的常量并赋值为 "MyApp"
const isDebug = true // 声明一个名为 isDebug 的常量并赋值为 true
const (
monday = "Monday"
tuesday = "Tuesday"
// 可以在常量组中一次性声明多个常量
)
常量必须在声明时初始化,并且其值在程序运行期间不能改变。