fmt.Println接收任何类型的参数吗?

huangapple go评论110阅读模式
英文:

Does fmt.Println receive any type of argument?

问题

fmt.Println 是 Go 语言中的一个函数,用于将给定的参数打印到标准输出。它可以接受不同类型的参数,包括 intstring

在你提供的代码中,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

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.

huangapple
  • 本文由 发表于 2014年4月8日 06:06:11
  • 转载请务必保留本文链接:https://go.coder-hub.com/22924003.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定