Golang变量定义

217 阅读1分钟

一、概念

使用var关键字
  1. var [name] [type]
  2. var [name] [type] = [value]
  3. 可以放置在函数内或直接放在包内
  4. 使用var()方式集中定义变量
自动识别类型
  1. var [name1, name2...nameN] = [1, "value2", true..."valueN"]
使用:=
  1. 只能定义在函数内
  2. [name1, name2, ...nameN] := [value1, value2...valueN]

二、实地演练

方式1 var方式
定义格式:
var [name] [type]
示例代码:

package main

import "fmt"

func main() {
   // 定义变量,golang都会给变量默认赋初值
   var a int
   var b string
   fmt.Printf("%d %q", a, b)
}
控制台输出:

0 ""
方式2 赋初值
格式定义:
var [name] [type] = [value]
示例代码:

package main

import "fmt"

func main() {
   // 定义变量并赋值
   var a int = 2
   var b string = "hi"
   fmt.Println(a, b)
}
控制台输出:

2 hi

方式3 var多属性方式
定义格式:
var [name1, name2, ...nameN] = [value1, value2...valueN]
示例代码:

package main

import "fmt"

func main() {
   // 定义变量由golang自动识别类型
   var a, b = 3 , "hello"
   fmt.Println(a, b)
}
控制台输出:

3 hello
方式4 :多属性方式
定义格式:
[name1, name2, ...nameN] := [value1, value2...valueN]
示例代码:

package main

import "fmt"

func main() {
   // 简版定义变量,注意:第一次定义需要用":",后面赋值不需要":"
   a, b := 4 , "say, hi!"
   a = 5
   fmt.Println(a, b)
}
控制台输出:

5 say, hi!
方式5 定义包内部变量
示例代码:

package main

import "fmt"

var (
   a = 5
   b = "HaHa"
)

var a1 = 6
var b1 = "HeHe"

func main() {
   fmt.Println(a, b)
   fmt.Println(a1, b1)
}
控制台输出:

5 HaHa
6 HeHe