变量:程序运行期间,可以改变的量,变量声明需要使用 var
常量:程序运行期间,不可以改变的量,常量声明需要使用 const
目录
1. 常量不允许修改
2. 常量赋值不使用 :=
3. 常量能够自动推导类型
1. 常量不允许修改
例如:定义一个常量a,a的值等于10,const a int = 10
package main
import "fmt"
func main() {
const a int = 10
a = 20 //试图修改a, err,常量不允许修改
fmt.Println("a = ", a)
}
当尝试对常量a进行修改时,比如对a进行赋值a=20,会报错,提示常量不允许赋值
2. 常量赋值不使用 :=
对常量赋值时,没有使用 := ,例如:新定义一个常量b,const b = 10
package main
import "fmt"
func main() {
const a int = 10
//a = 20 //试图修改a, err,常量不允许修改
fmt.Println("a = ", a)
const b = 10
fmt.Println("b = ", b)
}
运行结果:
如果使用 := 赋值,比如将const b = 10 改为 const b := 10,会报错,运行结果如下:
3. 常量能够自动推导类型
- 类型的占位符:%T
package main
import "fmt"
func main() {
const a int = 10
//a = 20 //试图修改a, err,常量不允许修改
fmt.Println("a = ", a)
const b = 10
fmt.Printf("b type is %T\n", b)
fmt.Println("b = ", b)
}
运行结果:
当把b改为小数,比如:const b = 10 改为 const b = 10.23,运行结果如下: