Go 语言组成部分
当前包声明
引入其他包
函数
变量
语句 & 表达式
注释
go语言代码实例
package mainimport "fmt"func main() {/* 这是我的第一个简单的程序 */fmt.Println("Hello, World!")}
以上程序的各个部分说明:
第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。
下一行 import “fmt” 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。
下一行 func main() 是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。
下一行 /*...*/是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。
下一行 fmt.Println(…) 可以将字符串输出到控制台,并在最后自动增加换行字符 n。 使用 fmt.Print(“hello, worldn”) 可以得到相同的结果。 Print 和 Println 这两个函数也支持使用变量,如:fmt.Println(arr)。如果没有特别指定,它们会以默认的打印格式将变量 arr 输出到控制台。
结构详细说明
// 当前程序的包名
package main
// 导入其他包
import "fmt"
// 常量定义
const PI = 3.14
// 全局变量的声明和赋值
var name = "gopher"
// 一般类型声明
type newType int
// 结构的声明
type gopher struct{}
// 接口的声明
type golang interface{}
// 由main函数作为程序入口点启动
func main() {
fmt.Println("Hello World!")
}
包导入方式:
通过 import 关键字单个导入:
import "fmt"
import "io"
同时导入多个:
import {
"fmt",
"io"
}
包调用方式
使用 <PackageName>.<FunctionName>调用:
package 别名:
// 为fmt起别名为fmt2
import fmt2 "fmt"
省略调用(不建议使用):
// 调用的时候只需要Println(),而不需要fmt.Println()
import . "fmt"
前面加个点表示省略调用,那么调用该模块里面的函数,可以不用写模块名称了:
import . "fmt"
func main (){
Println("hello,world")
}
可见性规则
Go语言中,使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包所调用。
函数名首字母小写即为 private :
func getId() {}
函数名首字母大写即为 public :
func Printf() {}
执行 Go 程序
$ go run xxx.go
或
$ go build
语言特性说明
[scode type=”yellow”]
1、Go 程序是通过 package 来组织的。
2、只有 package 名称为 main 的包可以包含 main 函数。
3、一个可执行程序必须有且仅有一个 main 包,内部包含main函数,作为项目入口文件。
4、通过 import 关键字来导入其他非 main 包。
5、通过 const 关键字来进行常量的定义。
6、通过在函数体外部使用 var 关键字来进行全局变量的声明和赋值。
7、通过 type 关键字来进行结构(struct)和接口(interface)的声明。
8、通过 func 关键字来进行函数的声明。
9、一行代表一个语句结束。每个语句不需要以分号 ; 结尾,同python
10、Go 语言的字符串拼接通过 + 实现:
11、go字符串必须用双引号包裹
[/scode]
Go 代码中会使用到的 25 个关键字或保留字:
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
Go 语言还有 36 个预定义标识符:
append bool byte cap close complex complex64 complex128 uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr
