英文:
Does fmt.Println receive any type of argument?
问题
fmt.Println 是 Go 语言中的一个函数,用于将给定的参数打印到标准输出。它可以接受不同类型的参数,包括 int 和 string。
在你提供的代码中,ln 函数使用了一个空接口类型 interface{} 作为参数。空接口类型可以接受任意类型的值作为参数。在 ln 函数内部,fmt.Println 函数被调用,并将参数 a 打印到标准输出。
要使上述代码正常工作,你只需要确保你的代码中导入了 fmt 包,并正确调用了 ln 函数,并传递了正确的参数。在 main 函数中,你可以调用 ln 函数并传递一个 int 类型的值 123,以及一个 string 类型的值 "test"。这样,这两个值将被打印到标准输出。
请注意,代码中的 import "fmt" 应该是 import "fmt",而不是 import "fmt"。
英文:
How does fmt.Println work? Why I can pass an int or a string to it?
How can I make the code below work?
package main
import "fmt"
func ln(a interface{}) {
fmt.Println(a)
}
func main() {
ln(123)
ln("test")
}
答案1
得分: 2
例如,
package main
import "fmt"
func ln(a interface{}) {
fmt.Println(a)
}
func main() {
ln(123)
ln("test")
}
输出:
123
test
func Println(a ...interface{}) (n int, err error)
Go语言的fmt包使用了reflect包。
英文:
For example,
package main
import "fmt"
func ln(a interface{}) {
fmt.Println(a)
}
func main() {
ln(123)
ln("test")
}
Output:
123
test
> func Println
>
> func Println(a ...interface{}) (n int, err error)
The Go fmt package uses the reflect package.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论