1.1 变量定义

本篇学习 Go 的变量声明与作用域规则,并能写出可运行的变量示例。

字数 459 字

变量定义

概念说明

变量用于在程序运行过程中保存数据。
Go 是静态类型语言,变量在声明时就确定类型。
局部变量必须先声明再使用,并且声明后必须被使用。

如果变量只声明不赋值,会获得该类型的零值,例如:

  • int 的零值是 0
  • string 的零值是 ""
  • bool 的零值是 false

语法/规则

  1. 完整声明:var 变量名 类型 = 值
  2. 类型推导:var 变量名 = 值
  3. 简短声明:变量名 := 值(只能在函数内部使用)
  4. 多变量声明支持同类型并列和同时赋值。
  5. 全局变量定义在函数外;局部变量定义在函数内。

单变量声明与零值示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
package main

import "fmt"

func main() {
	var age int
	var nickname string = "阿斌"
	city := "上海"

	fmt.Println(age)
	fmt.Println(nickname)
	fmt.Println(city)
}

输出结果:

1
2
3
0
阿斌
上海

多变量与作用域示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
package main

import "fmt"

var courseName = "Go 入门"

func main() {
	var firstName, lastName string
	firstName, lastName = "阿", "斌"

	level, passed := 1, true

	fmt.Println(courseName)
	fmt.Println(firstName, lastName)
	fmt.Println(level, passed)
}

输出结果:

1
2
3
Go 入门
阿 斌
1 true

常见错误

  1. 在函数外使用 :=,会直接编译报错。
  2. 局部变量声明后未使用,会出现 declared and not used
  3. 把同名变量反复用 := 声明,容易误以为是赋值,实际可能是重新声明。
使用 Hugo 构建
主题 StackJimmy 设计 由 Hobin 魔改
载入天数...载入时分秒...
发表了 0 篇文章 · 发表了 31 篇笔记 · 总计 1 万 6 千字(其中笔记 16551 字)