golang中声明的没有类型的包变量是什么



我是golang的新手,也是编程的新手。在阅读golang文档时,我发现声明的变量没有与之相关的类型

例如:var StdEncoding=新编码(encodeStd(

我可以在encode/base64包中实现这一点。我不知道这是什么意思。我知道你在声明变量时需要提到那个类型,但这个没有任何类型。这些变量与其他变量有何不同?我该如何使用它们?

在golang中,我们必须为每个变量指定类型。如果使用var关键字,则可以在不赋值的情况下声明变量,但也必须声明类型。

var a int
a = 10

但如果使用var关键字声明变量并直接将值赋给它,则可以选择是否声明类型。否则,golang将根据分配给变量的值来决定类型。在您的示例中,因为NewEncoding将返回*Encoding,所以变量stdEncoding的类型将是Encoding结构。

var a int = 10 // you can do this
var a = 10 // also, you can do this

最新更新