// base.go 注释
package main // 包名
import "fmt" // 导入
func main() {
fmt.Println("hello")
}
// wrong: fmt.Println("hello")
main 函数是程序的运行入口,如果没有 main 函数,可以通过导入方式供其他模块调用。
注意:不能直接在函数外直接使用 fmt.Println
运行项目:
go run base.go
也可以只编译:
go build base.go
编译以后可以直接运行可执行文件:
# linux
./base
# windows
base.exe
定义变量不赋值:
func variableNoValue() {
var a int
fmt.Println(a)
}
运行函数会打印 0,在 Go 中,定义了变量类型如果没有赋值,会给它一个 zero value 作为默认值。 不赋值时,必须指定参数类型。
定义变量赋值:
func variableInitValue() {
var a int = 2
var b string = "hello"
fmt.Println(a, b)
}
当多个变量的类型相同时,可以放在一起定义,并规定类型,主要是方便。
func variableMultiValue() {
var firstName, lastName string = "liu", "zhen"
fmt.Println(firstName, lastName)
}
赋值时也可以不规定类型,由编译器自己决定类型:
func varialbeNoType() {
var a, b = 3, "hello"
fmt.Println(a, b)
}
:=
Go 为变量赋值提供了一种快捷方式, 但是这种用法只能再函数体内使用,不能直接再包内定义。这也是 Go 语言用得最多的一种定义变量的方式。
func variableQuick() {
a, b := 5, "hello"
fmt.Println(a, b)
}
//wrong
// a, b := 5, "hello"
有时候需要在包内定义一系列的变量,可以用 var 分组:
var (
a = 1
b = "hello"
c = true
)
a := 5
定义变量,更简洁。写一个综合例子,一个包大致长这样:
package main // 包名
import "fmt" // 导入
var (
a = 1
b = "hello"
c = true
)
func main() {
fmt.Println(c)
variableNoValue()
variableQuick()
func variableNoValue() {
var a int
fmt.Println(a)
}
func variableQuick() {
a, b := 5, "hello"
fmt.Println(a, b)
}
原文:https://www.cnblogs.com/heniu/p/13046990.html