Go语言中变量需明确类型,支持var声明、短变量声明等方式,内置丰富数据类型,未初始化变量有默认零值,且类型间需显式转换,确保类型安全。

在Go语言中,声明变量和使用类型是编程的基础。Go是一种静态类型语言,每个变量都有明确的类型,且必须在编译时确定。下面介绍几种常见的变量声明方式以及类型的使用方法。
基本变量声明方式
Go提供了多种声明变量的方法,可以根据场景选择最合适的一种:
- 使用 var 关键字:这是最标准的声明方式,适用于任何作用域。
var name string var age int var isAlive bool
未初始化时,变量会自动赋予零值(如字符串为"",int为0,bool为false)。
- 带初始化的 var 声明:可以在声明时赋值,类型可由Go自动推断。
var name = "Alice" var age = 25
此时Go会根据赋值内容推导出变量类型(string 和 int)。
立即学习“go语言免费学习笔记(深入)”;
- 短变量声明(:=):在函数内部可以使用 := 快速声明并初始化。
name := "Bob" age := 30 height := 1.75
这种方式简洁,但只能在函数内部使用,不能用于包级别。
常见数据类型
Go内置了丰富的基础类型,常用的包括:
- 整数类型:int、int8、int16、int32、int64、uint、uint8 等。
- 浮点类型:float32、float64。
- 布尔类型:bool,取值为 true 或 false。
- 字符串类型:string,用双引号包围,不可变。
- 字符类型:rune(即 int32),表示一个Unicode码点;byte(即 uint8),常用于字节操作。
例如:
var a int = 42 var b float64 = 3.14 var c bool = true var d string = "hello"
零值与类型安全
Go中的变量如果没有显式初始化,会被赋予对应类型的零值:
- 数值类型:0
- 布尔类型:false
- 字符串类型:""(空字符串)
- 指针或接口:nil
由于Go是类型安全的语言,不能隐式转换不同类型。例如,不能将 int 直接赋值给 int64 变量,必须显式转换:
var x int = 10 var y int64 = int64(x) // 显式转换
多变量声明与赋值
Go支持一次性声明多个变量,提升代码简洁性:
var i, j int = 1, 2 var name, age = "Tom", 22 k, l := 3, 4
也可以分组声明:
var (
name string = "Jerry"
age int = 18
ok bool = true
)
基本上就这些。掌握变量声明和类型使用,是写好Go程序的第一步。语法清晰,规则明确,适合构建可靠的应用。










