$ go run values.go golang 1+1 = 2 7.0/3.0 = 2.3333333333333335 false true false
Variables
在 Go 中, 变量是显式声明给编译器使用的, 例如检查函数调用的类型正确性。var声明一个或多个变量, 可以一次声明多个变量, Go 将推断初始化变量的类型, 未进行相应初始化而声明的变量为零值。例如, 一个int类型变量的零值为0。:= 语法是声明和初始化变量的简写, 例如本例中的var f string="apple", 此语法仅在函数内部可用。
variables.go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
package main
import"fmt"
funcmain() { var a = "initial" fmt.Println(a) var b, c = 1, 2 fmt.Println(b, c) var d = true fmt.Println(d) var e int fmt.Println(e) f := "apple" fmt.Println(f) }
log
1 2 3 4 5 6
$ go run variables.go initial 1 2 true 0 apple
Constants
Go 支持字符、字符串、布尔值和数值的常量。const声明一个常数值, const 语句可以出现在 var 语句可以出现的任何位置。常量表达式以任意精度执行算术运算。数值常量在给定类型之前没有类型, 例如通过显式转换。通过在需要类型的上下文中使用数字, 可以为数字给定类型, 例如变量赋值或函数调用。例如, math.Sin需要float64。
constant.go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
package main
import ( "fmt" "math" )
const s string = "constant"
funcmain() { fmt.Println(s) const n = 500000000 const d = 3e20 / n fmt.Println(d) fmt.Println(int64(d)) fmt.Println(math.Sin(n)) }
log
1 2 3 4 5
$ go run constant.go constant 6e+11 600000000000 -0.28470407323754404