1.变量

变量是几乎所有编程语言中最基本的组成元素,变量是程序运行期间可以改变的量。
程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量名来使用这块存储空间。

1.1变量声明(var)

1.1.1基本语法:

  1. //基本语法
  2. var variable_name type = value

1.1.2 语法解析

var 声明
variable_name 变量名
tpye 类型
value 初始化值

1.1.3单变量声明示例

声明一个变量i,类型为int

  1. var i int

1.1.4多变量声明示例

  1. var i, j, k int

1.1.5单变量声明并初始化值

  1. var i int = 100

1.1.6多变量声明并初始化值

  1. var i, j, k int = 100, 200, 300

1.2简短声明(仅函数内部)

1.2.1基本语法

  1. vname1, vname2, vname3 := value1, value2, value3

1.2.2语法解析

相较于var声明,简短声明语法相对简洁,用”:=”代替了var和type,隐去var比较好理解,隐去tpye,程序如何理解我们的变量类型呢?这一点,跟其他语言有相似之处。go语言也会根据给定的value去自动推导类型。

但是这种定义方法只能在函数内部使用,在外部使用时将无法编译成功。

1.3变量小结

由于变量声明的两种方式,我们习惯性的使用var去声明全局变量,用“简短声明”去声明局部变量。

2.常量

所谓常量,也就是在程序编译阶段固定不变的值
常量可以是数值,布尔值,字符串等类型。

2.1基本语法

  1. const constant_name = value

2.2常量声明示例

  1. const pi = 3.1415926
  2. const i = 100
  3. const str = "fghdws"
  4. //如有必要,可以声明常量类型
  5. const pi float32 = 3.1415926

3.注意点

3.1不同类型不允许互相赋值或操作

  1. //以下为错误示范
  2. package main
  3. import "fmt"
  4. func main(){
  5. var i int16 = 100
  6. var j int32 = 200
  7. var k = i + j
  8. fmt.Println(k)
  9. }

tempsnip.png
报错显示i和j的类型不同,不能进行操作

3.2bool类型默认值为false

  1. package main
  2. import "fmt"
  3. func main(){
  4. var i bool
  5. fmt.Println(i)
  6. }

tempsnip.png

当然我们可以给变量指定bool值

  1. package main
  2. import "fmt"
  3. func main(){
  4. var i bool = true
  5. fmt.Println(i)
  6. }

捕获.PNG