在我们开始学习 Go 编程语言的基础构建模块前,让我们先来了解 Go 语言最简单程序的结构。
Go 语言的基础组成有以下几个部分:
接下来让我们来看下简单的代码
package mainimport "fmt"func main() {fmt.Println("今天第一天学go")fmt.Println("hello world!")
}
让我们来看下以上程序的各个部分:1.第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包,main包就是程序的入口。
2.下一行 import “fmt” 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。
3.下一行 func main() 是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。
4.下一行 /…/ 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。
5.下一行 fmt.Println(…) 可以将字符串输出到控制台,并在最后自动增加换行字符 \n。
使用 fmt.Print(“hello, world\n”) 可以得到相同的结果。
Print 和 Println 这两个函数也支持使用变量,如:fmt.Println(arr)。如果没有特别指定,它们会以默认的打印格式将变量 arr 输出到控制台。
注意
需要注意的是 { 不能单独放在一行,所以以下代码在运行时会产生错误:
注意,在Go语言中,如果只有一个文件,那package必须是 main,否则会报错。
Go是一门支持多返回值的语言,这使得它可以将真正的返回值和error分开返回,这同样也使得error的处理很难自动化进行,我们必须在err != nil的时候手动结束函数流程。同样,Go语言的error也是非常灵活和自然的。你会发现在Go语言中处理error不需要任何额外的语法,而且不需要扩展if的语义。至于错误应该何时传播,何时终止传播,何时处理,这并不是Go语言的问题,而是所有语言的问题。
当出现不等于nil的时候,说明出现某些错误了,需要我们对这个错误进行一些处理
if err != nil {//运行异常错误// do something....
}
当出现等于nil的时候,说明出现运行正常,可以正常编写业务逻辑代码
if err == nil {//运行正常// do something....
}