Golang 变量声明及初始化

本文详细介绍了Golang中的变量声明和初始化,包括声明与定义的区别、初始化的概念,以及短变量声明的使用。内容涵盖基础类型如整型、浮点型、字符串和复合类型如数组、切片、字典等,帮助读者深入理解Golang的变量管理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Golang 变量声明及初始化

基本术语:
声明与定义的区别

变量声明的本质就是告诉编译器变量类型和初始化的值。

在C/C++语言中,声明和定义都规定了变量的名字和类型,定义会申请内存空间,声明不会。同一个变量可以多处声明,但只能一处定义。函数声明与定义的区别是函数声明有一个函数体。

extern int x; // 声明x 非定义
int y; // 定义y

go 语言变量声明和定义都是一起,不分开,所以变量声明定义,统称为定义。

初始化

变量声明时需要赋值的场景称为初始化。

初始化与赋值的区别:

初始化需要重新声明一个变量,赋值是指在已声明的变量基础上操作。

短变量声明

形如,无var关键字,用 := 进行声明初始化的过程。短变量声明只能在函数内部使用。

value := 2
变量详解

Golang中的内置类型

基础类型

整型:

int8,uint8,byte
int16,uint16
int32,uint32
int64,uint64
int, uint
uintptr

var v1 int8 // 0
var v1 int8 = 3 // 3

浮点型:

float32,float64

字符串类型:

string

var str string //
var str string = "hello world"
str := "hello world"

复数类型:

complex64,complex128

布尔类型:

bool

var v1 bool // 声明
var v1 bool = false
v1 = true // 赋值
v2 := (1 == 2) // 短变量声明初始化

字符类型:

rune

错误类型:

error
复合类型

指针pointer,数组array,切片slice,字典map,通道chan,结构体struct,接口interface

数组:

var arr [32]byte

切片:

var myArray [5]int = [5]int{1, 2, 3, 4, 5}
var mySlice []int = myArray[:5]
var mySlice = make([]int, 5) // 初始元素个数为5,初始值为0
var mySlice = make([]int, 5, 10) // 初始元素个数为5,初始值为0,预留10个元素的存储空间
var mySlice = []int{1, 2, 3, 4, 5} // 初始化

字典:

var myMap[string]int
myMap = make(map[string]int)
myMap = make(map[string]int, 100) // 存储能力为100
myMap = map[string]int{"abc":1, "bcd", 2}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值