為了不要一遍又一遍地重復我自己,我想創(chuàng)建一個處理運行一些命令的函數(shù)。func runCommand(name string, arg ...string) error { cmd := exec.Command(name, arg) if err := cmd.Run(); err != nil { return err } else { return nil }}一旦我嘗試運行它,我就會收到以下錯誤:cannot use arg (type []string) as type string in argument to exec.Command我查看了 的實現(xiàn),os.Command看起來函數(shù)簽名正是我提供的。在內部 a[]string應該與可變參數(shù)相同,但對于編譯器來說似乎不是。有沒有辦法將可變參數(shù)傳遞到Command?
1 回答

鴻蒙傳說
TA貢獻1865條經驗 獲得超7個贊
你[]string
用另一個擴展...
cmd := exec.Command(name, arg...)
從語言規(guī)范的傳遞參數(shù)...參數(shù)
如果最后一個參數(shù)可分配給切片類型
[]T
,則...T
如果參數(shù)后跟...
. 在這種情況下,不會創(chuàng)建新切片。給定切片 s 并調用
s := []string{"James", "Jasmine"} Greeting("goodbye:", s...)在 Greeting 中,
who
將具有s
與相同底層數(shù)組相同的值。
- 1 回答
- 0 關注
- 273 瀏覽
添加回答
舉報
0/150
提交
取消