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)
}
相关推荐
她的男孩4 小时前
同一个接口,为什么销售只看到自己的订单?我拆了 681 行数据权限拦截器的源码
java·后端·架构
元界metalite4 小时前
SpringBoot接口通用响应对象设计 - 一个 Resp 管理五种责任
后端
对象存储与RustFS4 小时前
把 RustFS 跑在 Kubernetes 上:官方 Helm Chart 从单机到分布式
后端·rust·开源
SimonKing5 小时前
将cURL 命令直接变成 Java 代码?用JQuick-Curl搞起来
java·后端·程序员
大牧师5 小时前
Nest.js 微服务入门教程
开发语言·javascript·后端·微服务·node.js·nest.js·nest
格林威5 小时前
C# 图像异步落盘存储:基于Channel 配合 ArrayPool 实现异步落盘
开发语言·人工智能·数码相机·机器学习·计算机视觉·c#·视觉检测
软件黑马王子5 小时前
11.缓存池优化:窗口布局
开发语言·前端框架·c#
凤山老林5 小时前
企业级文件服务中台:Spring Boot 集成 MinIO 实现分片存储、生命周期管理与多租户隔离
java·spring boot·后端·minio·文件服务
深圳市益普科技有限公司5 小时前
半导体MES的数字孪生:虚拟调试如何把上线风险提前清零
java·开发语言
IT_陈寒5 小时前
Redis的订阅丢失消息?你可能忘了这个配置
前端·人工智能·后端