登录
首页 >  Golang >  Go问答

在 Go 编程语言中定义变量

来源:Golang技术栈

时间:2023-04-10 08:50:27 125浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《在 Go 编程语言中定义变量》,主要介绍了golang,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我正在学习 Go 语言并遇到这种类型的变量声明:

i:=1;

但它说 Go 有静态变量。i,e 变量应该像这样定义

var i int=1;

那么这两种方法有什么区别呢?在第一个中,我们不需要指明数据类型。为什么会这样?

正确答案

第一个i := 1称为短变量声明。它是带有初始化表达式但没有类型的常规变量声明的简写:

var IdentifierList = ExpressionList

您不指定 的类型i,但i将具有基于某些规则的类型。它的类型将被自动推断。在这种情况下,它将是类型int,因为初始化表达式1是一个无类型的整数常量,其默认类型是int,所以当需要类型时(例如,它用于短变量声明中),int类型将被推导出。

所以 Go 是静态类型的。这意味着变量将具有静态类型,并且在运行时存储在其中的值将始终属于该类型。静态类型并不意味着 必须显式指定静态类型,它只是意味着变量必须具有静态类型 - 在编译时决定 - 即使您使用短变量声明并且您没有指定它,也满足该条件。

请注意,如果您使用var关键字声明变量,也可以省略类型:

var i = 1

在这种情况下,类型也将从初始化表达式的类型推导出来。

规格:变量声明:

如果存在类型,则为每个变量赋予该类型。否则,每个变量都被赋予赋值中对应的初始化值的类型。如果该值是无类型常量,则首先将其转换为其默认类型;如果它是无类型的布尔值,则首先将其转换为 type bool。预先声明的值nil不能用于初始化没有显式类型的变量。

今天带大家了解了golang的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>