1. 变量声明与赋值
// var.go package main import "fmt" var a string var b bool var c string = "Delav" var d = 2333 var e = "Golang" var f, g int = 1, 2 var h, i = 123, "Hello" func main() { j := "Python" fmt.Println(a) fmt.Println(b,c) fmt.Println(d,e) fmt.Println(f,g) fmt.Println(h,i) fmt.Println(j) }
输出如下:
false Delav
2333 Golang
1 2
123 Hello
Python
注意:
1). 字符串的赋值不能使用单引号;
2). j := "Python" 这种声明格式的只能在函数体中出现
2. 常量
常量是一个简单值的标识符,在程序运行时,不会被修改的量。
常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型
// const.go package main import "fmt" const a int = 1 const b string = "delav" const c bool = true const d, e, f = 2, true, "str" func main() { fmt.Println(a) fmt.Println(b) fmt.Println(c) fmt.Println(d, e, f) }
输出如下:
1 delav true 2 true str
2.1. 常量操作
常量可以用len(), cap(), unsafe.Sizeof()函数计算表达式的值。常量表达式中,函数必须是内置函数,否则编译不过
package main import "fmt" import "unsafe" const ( a = "delav" b = len(a) c = unsafe.Sizeof(a) ) func main(){ fmt.Println(a, b, c) }
输出如下:
delav 5 16
2.2. 特殊常量 iota
iota,可以认为是一个可以被编译器修改的常量。iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。
package main import "fmt" func main() { const ( a = iota //0 b //1 c //2 d = "delav" //独立值,iota += 1 e //"delav" iota += 1 f = 100 //iota +=1 g //100 iota +=1 h = iota //7,恢复计数 i //8 ) fmt.Println(a,b,c,d,e,f,g,h,i) }
输出如下:
0 1 2 delav delav 100 100 7 8