常量介绍

示例
go
package main
import (
"fmt"
)
func main() {
const name = "tom"
fmt.Println(name)
const tax float64 = 0.8
fmt.Println(tax)
}
go
go run const.go
tom
0.8
go
package main
import (
"fmt"
)
func main() {
const a int
fmt.Println(a)
}
bash
go run const.go
# command-line-arguments
./const.go:8:8: missing init expr for a
go
package main
import (
"fmt"
)
func getVal() {
fmt.Printf("测试")
}
func main() {
const b = 9 / 3
fmt.Println(b)
//const c = getVal()
//fmt.Println(c)
}
bash
go run const.go
3
go
package main
import (
"fmt"
)
func getVal() {
fmt.Printf("测试")
}
func main() {
//const b = 9 / 3
//fmt.Println(b)
const c = getVal()
fmt.Println(c)
}
bash
go run const.go
# command-line-arguments
./const.go:13:12: getVal() (no value) used as value
go
package main
import (
"fmt"
)
func getVal() {
fmt.Printf("测试")
}
func main() {
//const b = 9 / 3
//fmt.Println(b)
//const c = getVal()
//fmt.Println(c)
num := 9
const b = num / 3
fmt.Println(b)
}
bash
go run const.go
# command-line-arguments
./const.go:16:12: num / 3 (value of type int) is not constant
常量比较简单的写法
go
package main
import (
"fmt"
)
func getVal() {
fmt.Printf("测试")
}
func main() {
const (
a = 1
b = 2
)
fmt.Println(a, b)
const (
c = iota
d
e
)
fmt.Println(c, d, e)
}
bash
go run const.go
1 2
0 1 2