Golang之路---02 基础语法——变量

Golang变量

变量的声明

声明变量的一般形式是使用 var 关键字

Go 语言是静态类型语言,编译时,编译器会检查变量的类型,所以要求所有的变量都要有明确的类型。

1 :一个变量单行声明

语法格式:
var name type

var是关键字,name为变量名,type是类型。

使用 var , Go 会对其进行隐式初始化,比如 string 类型就初始化为空字符串,int 类型就初始化为0,float 就初始化为 0.0,bool类型就初始化为false,指针类型就初始化为 nil。

其中,数字类型比较多,默认值都是 0。定义int类型时,默认根据系统类型设置取值范围,32位系统与int32的值范围相同,64位系统与int64的值范围相同。

float32 32位浮点数 精度6位小数

float64 64位浮点数 精度15位小数

若你的右值带有小数点,在不指定类型的情况下,编译器会将你的这个变量声明为 float64,但是很多情况下,我们并不需要这么高的精度.

所以要指定类型, eg: var tes float32 = 0.89

2:多个变量一起声明

适用场景:适合全局变量的声明

go 复制代码
var(
    str_1 string ="test1"
	str_2 string ="沉淀"
	num1 int = 985
	num2 float32= 211.1
   )

3:短类型单个变量声明法

使用 :=

可以声明一个变量,并对其进行(显式)初始化。

(编译器会自动根据右值类型推断出左值的对应类型。)
存在局限性,此种声明方法只能用于函数内部

4.短类型多个变量声明法

go 复制代码
str_4,num3 := "好好学习", 25

//这种方法也可用于变量的交换

num1 := 23
num2 := 46

num2,num1 =  num1,num2

5.匿名变量

又称占位符,空白标识符
用下划线表示

优点:

  1. 无须分配内存,不占用内存空间
  2. 无序为无用的变量名起名
  3. 可在代码中多次声明

使用场景

匿名变量适用于必须接收,但是又不会用到的值。

go 复制代码
func GatData() (string,string){
	return "Golang","more better"
}

func main(){
    a,_ := GatData()
	_,b := GatData() 
	fmt.Println(a,b)
}
相关推荐
lazy H11 分钟前
不同的消息队列有什么区别?Kafka、RabbitMQ、RocketMQ、Pulsar、ActiveMQ 选型对比
后端·中间件·kafka·rabbitmq·rocketmq
明月_清风12 分钟前
开发者写PPT自救指南:4类对接场景,把技术讲清楚
前端·后端·面试
明月_清风15 分钟前
从经典self-Attention 到 Flash Attention:为什么我们「不必算出每一个 âᵢ」
后端·ai编程
m0_6406024424 分钟前
2026 年餐饮收银系统前后端技术实现——核心架构与原理详解
后端·微服务·云原生·架构
长谷深风11127 分钟前
Agent 何时该 Replan:五个关键判断
java·大数据·开发语言·ai agent·ai智能体·agent设计·clarify机制
Scene21628 分钟前
Flux 与 Mono:Project Reactor 核心响应式类型深度解析
后端
lingran__32 分钟前
C++ STL unordered系列(哈希) 底层剖析与模拟实现万字详解 | 基于哈希表,复刻 SGI-STL 泛型哈希容器架构
开发语言·c++·后端·哈希算法·哈希表·泛型编程·unordered系列
小林ixn44 分钟前
NestJS 入门实战:从 0 到 1 撸一个 Todo CRUD,感受装饰器与模块化的优雅
后端·mvc·nestjs
圣殿骑士-Khtangc1 小时前
Go-sync-Pool对象池最佳实践与源码分析
golang
阿弱1 小时前
graph-core 的边与命令模式设计
java·后端·agent