Go学习笔记-变量与常量
概述
变量 来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念,由字母、数字、下划线组成,其中首个字符不能为数字,可以通过变量名访问,一般格式是使用
var
关键字常量 是一个简单值的标识符,在程序运行时,不会被修改的量, 其数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。一般的格式是使用
const
变量声明
单个变量声明
第一种:指定变量类型,如果没有初始化,则变量默认为零值,其格式如下
// var 变量名称 数据类型 = 变量值
// 如果不赋值,使用的是该数据类型的默认值
package main
import "fmt"
func main() {
// 声明一个变量并初始化,结果为30
var a int = 30
fmt.Println(a)
// 没有初始化就为零值
var a1 int
fmt.Println(a1)
// bool 零值为 false
var a2 bool
fmt.Println(a2)
}
第二种:根据值自行判定变量类型,其格式如下
// var 变量名称 = 变量值
// 根据变量值,自行判断数据类型。
package main
import "fmt"
func main() {
var a = 30
fmt.Println(a)
}
第三种:省略 var, 注意 := 左侧如果没有声明新的变量,就产生编译错误,其格式如下
// 变量名称 := 变量值
// 省略了 var 和数据类型,变量名称一定要是未声明过的。
package main
import "fmt"
func main() {
a := 30
fmt.Println(a)
var b int
b := 1 // 会产生编译错误
b,b1 := 1,2 // 此时不会产生编译错误,因为有声明新的变量,因为 := 是一个声明语句
}
多变量声明
与单变量类似,其也有三种
// 第一种:var 变量名称,变量名称 ... ,数据类型 = 变量值,变量值 ...
// 第二种:var 变量名称,变量名称 ... = 变量值,变量值 ...
// 第三种:变量名称,变量名称 ... := 变量值,变量值 ...
package main
import "fmt"
func main() {
var a1, a2, a3 int = 1, 2, 3
fmt.Println(a1, a2, a3)
var name, age = "小花", 12
fmt.Println(name, age)
a, b, c := 5, 7, "abc"
fmt.Println(a, b, c)
}
常量声明
- 显式类型定义:
const b string = "abc"
- 隐式类型定义:
const b = "abc"
- 多个变量声明可以简写为:
const a, b (数据类型)= a_value, b_value
package main
import "fmt"
func main() {
const name string = "jack"
fmt.Println(name)
const age = 30
fmt.Println(age)
const name1, name2 string = "jack", "jenny"
fmt.Println(name1, name2)
const name3, age1 = "Tom", 30
fmt.Println(name3, age1)
}