变量
变量声明方式
1.var i int: 只声明,未初始化。未初始化会自动赋初值,而int类型的默认值为0。
// 只声明未初始化
func varUnInit() {
var i int
fmt.Println(i) // 0
}
2.var i int = 1: 声明并初始化
3.var i = 1: 声明并初始化,类型自动推断
func varAutoIdentity() {
var i = 1;
fmt.Println(i)
}
4.var i, j = 1, 2: 声明并初始化多个变量
5.i := 1: 声明并初始化,很简洁,是一种常见的声明方式
5.1 这种方式要求变量i之前必须没有声明
5.2 这种方式只支持函数体内使用,其他范围必须用var
公有变量与私有变量
在Golang中,首字母大写的变量(包括函数)是公有变量,可以被其他模块(文件)引用; 首字母小写的变量是私有变量,只能在本模块(文件)引用。
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.Pi) // 3.141592653589793
fmt.Println(math.pi) // cannot refer to unexported name math.pi
}
常量
1.常量的声明与变量类似,只不过是使用 const 关键字。
2.常量可以是字符、字符串、布尔值或数值。
3.常量不能用 := 语法声明
const World = "Hello World"
func constantVar() {
fmt.Println(World)
const Truth = true
fmt.Println(Truth)
}