douwen1915
2016-06-14 02:08
浏览 101
已采纳

将不同数据类型的参数传递给Golang Variadic函数

I have the following Golang main function where another variadic function variadicFunc is called to which I need to pass parameters of different datatypes. The code is as follows.

package main

import "fmt"

func main() {
    variadicFunc("hello", "Change", "the ", "World using Golang", 1, 2, 3, 4)
}

func variadicFunc(messages ...string) {
    for _, i := range messages {
        fmt.Println(i)
    }
}

When running the program following error is thrown.

Cannot use 1(type int) as type string in argument to variadicFunc

图片转代码服务由CSDN问答提供 功能建议

我有以下Golang main 函数,其中另一个可变参数函数 variadicFunc 。 代码如下。

 包main 
 
import“ fmt” 
 
func main(){
 variadicFunc(“ hello”,“ Change”,“  “,”使用Golang的世界“,1,2,3,4)
} 
 
func variadicFunc(messages ... string){
表示_,i:=范围消息{
 fmt.Println(  i)
} 
} 
   
 
 

在运行程序时,将引发以下错误。

在variadicFunc的参数中不能使用1(int int)作为类型字符串

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • du3979 2016-06-14 02:14
    已采纳

    You can use an interface

    package main
    import "fmt"
    
    func main() { 
      variadicFunc("hello", "Change", "the ", "World using Golang", 1, 2, 3, 4)
    }
    
    func variadicFunc(messages ...interface{}) {
      for _, i := range messages {
        fmt.Println(i)
      }
    }
    
    已采纳该答案
    打赏 评论

相关推荐 更多相似问题