java和golang都支持多参数传入,但是还是有一些区别的;示例如下

java代码:

public static void main(String[] args) {
    foreach("1", "2");
    foreach(new Object[]{"3", "4"});
    foreach(new String[]{"5", "6"});
}

public static void foreach(Object... entNums) {
    for (Object a : entNums) {
        System.out.println("#" + a);
    }
}

结果:

#1
#2
#3
#4
#5
#6

golang示例:

func TestRun(t *testing.T) {
   foreach("1","2")
   var paramsStr []string
   paramsStr = append(paramsStr,"3")
   paramsStr = append(paramsStr,"4")
   foreach(paramsStr)

   var params []interface{}
   params = append(params,"5")
   params = append(params,"6")
   foreach(params)
   foreach(params...)

}

func foreach(args ...interface{}) {
   for _, a := range args {
      fmt.Println("#" + gconv.String(a))
   }
}

结果:

=== RUN   TestRun
#1
#2
#["3","4"]
#["5","6"]
#5
#6


注:golang传入切片只有使用了...才会打散参数

没有登录不能评论