您现在的位置是:网站首页> 编程资料编程资料
关于Golang变量初始化/类型推断/短声明的问题_Golang_
2023-05-26
430人已围观
简介 关于Golang变量初始化/类型推断/短声明的问题_Golang_
视频: https://www.bilibili.com/video/BV1Zh411k7iB/

声明变量同时初始化
上节我们了解了三种变量声明的语法,并且知道未初始化的变量初始值都是其类型的零值

其实只需要在声明时赋予初始值,即可进行初始化
下面针对三种变量声明语法进行初始化:
[1] var name type

[2] var name1, name2 type

[3]
var ( name1 type1 name2 type2 )

类型推断
如果变量声明时附带初始值,Go会自动推断出初始值的类型,这时可以省略掉变量类型的声明:

通过fmt.Printf函数和%T标记(后面再了解,这里先记下),我们最终得知name变量的类型最终推断为string
疑问: var pi = 3.14,pi变量的类型是什么? 是float32还是float64? 试试便知:

Go会根据数值的精度(precision)来推断变量类型:
- 整数 ->
int - 浮点数 ->
float64 - 复数 ->
complex128
有了类型推断(Type inference),我们有能力可以一行声明多个不同类型的变量:

变量短声明
Go还提供了一种更加简洁的用来声明初始化变量的语法,叫做变量短声明(Short hand declaration)
变量短声明,使用:=操作符,它有点像一个海象

利用变量短声明,再次化简上个例子的代码:

在Go中,变量不能重复声明,否则会报错

使用短声明:=时也一样

因为短声明要求左边至少有一个未声明的变量

第二行:=对于name来说是重新赋值,对于age来说是声明并初始化
短声明还有一个约束 —— 只能在函数体内使用(后面讲到变量作用域时再讨论 =。=)
总结

到此这篇关于关于Golang变量初始化/类型推断/短声明的问题的文章就介绍到这了,更多相关Golang变量类型推断内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- go语言中的Carbon库时间处理技巧_Golang_
- Golang实现Directional Channel(定向通道)_Golang_
- 一文秒懂Go 编写命令行工具的代码_Golang_
- 模块一 GO语言基础知识-库源码文件_Golang_
- golang 实现json类型不确定时的转换_Golang_
- Go中time.RFC3339 时间格式化的实现_Golang_
- Go语言遍历map实现(访问map中的每一个键值对)_Golang_
- GO语言开发环境搭建过程图文详解_Golang_
- 使用go实现简易比特币区块链公链功能_Golang_
- Go基于GORM 获取当前请求所执行的 SQL 信息(思路详解)_Golang_
