英文:
Understanding the initialisation of a variable of particular type
问题
下面的初始化是如何进行的?
对我来说,它看起来像是test行为更像一个函数..接受一个参数并返回相同的值。
我知道这很基础,但我无法弄清楚这里发生了什么。稍微解释一下会很有帮助。这是一种在单行中进行赋值和初始化的快捷符号吗?
package main
import (
"fmt"
)
type test int
func main() {
fmt.Println(test(20))
}
这段代码中,test(20)
是将整数值20转换为类型为test
的变量。在Go语言中,可以通过在类型名称后面加上括号并提供相应的值来进行类型转换。在这种情况下,将整数20转换为类型为test
的变量,并将其打印出来。这种方式可以用于将一个类型转换为另一个类型,但需要确保两个类型是兼容的。
英文:
How is the below initialisation happening?
tT me it looks like test is behaving more like a function.. taking an argument and return the same.
I know its very basic, but i cant figure it out what is happening here. a little explanation would be helpful. Is this some kind of shortcut notation for assignment and initialisation in single line?
package main
import (
"fmt"
)
type test int
func main() {
fmt.Println(test(20))
}
答案1
得分: 1
引用的代码中没有变量。有一个类型test
,其底层类型是int
。你看到的“像函数一样运行”是将字面量20
转换为类型test
的类型转换。
我强烈建议你参加Go之旅,它涵盖了所有的语言基础知识,并提供了示例和解释,只需要几分钟的时间。特别要注意类型和类型转换部分。
英文:
There are no variables in the quoted code. There is a type, test
, whose underlying type is int
. What you see "behaving like a function" is a type conversion from the literal 20
to the type test
.
I highly recommend taking the Tour of Go, which covers all the language basics with examples and explanations and only takes a few minutes. In particular, pay attention to the section on types and type conversions.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论