目录
1. 包的管理
每个 Go 程序都是由包构成的。
程序从 main 包开始运行。
本程序通过导入路径 “fmt” 和 “math/rand” 来使用这两个包。
按照约定,包名与导入路径的最后一个元素一致。例如,“math/rand” 包中的源码均以 package rand 语句开始。
package main
import (
"fmt"
"math/rand"
)
func main() {
fmt.Println("My favorite number is", rand.Intn(10))
}
2. 导包
此代码用圆括号组合了导入,这是“分组”形式的导入语句。
import (
"fmt"
"math"
)
3. 导出名
在 Go 中,如果一个名字以大写字母开头,那么它就是已导出的。例如,Pizza 就是个已导出名,Pi 也同样,它导出自 math 包。
pizza 和 pi 并未以大写字母开头,所以它们是未导出的。
在导入一个包时,你只能引用其中已导出的名字。任何“未导出”的名字在该包外均无法访问。
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.Pi)
}
4. 函数
函数可以没有参数或接受多个参数。
在本例中,add 接受两个 int 类型的参数。
注意类型在变量名 之后。
这里为什么是放在变量名之后有一个博客有写,到时候我会新开一个文章翻译过来给大家看
package main
import "fmt"
func add(x int, y int) int {
return x + y
}
func main() {
fmt.Println(add(42, 13))
}
5. 函数(续)当连续两个或多个函数的已命名形参类型相同时,除最后一个类型以外,其它都可以省略。
func add(x, y int) int {
return x + y
}
6. 多值返回
多值返回
函数可以返回任意数量的返回值。
swap 函数返回了两个字符串。
package main
import "fmt"
func swap(x, y string) (string, string) {
return y, x