我正在編寫一些代碼,并且我需要它來捕獲參數并將其傳遞fmt.Println(我希望它的默認行為是,編寫用空格分隔并后跟換行符的參數)。但是它需要[]interface {}而flag.Args()返回[]string。這是代碼示例:package mainimport ( "fmt" "flag")func main() { flag.Parse() fmt.Println(flag.Args()...)}這將返回以下錯誤:./example.go:10: cannot use args (type []string) as type []interface {} in function argument這是一個錯誤嗎?不應該fmt.Println接受任何數組嗎?順便說一句,我也試圖做到這一點:var args = []interface{}(flag.Args())但出現以下錯誤:cannot convert flag.Args() (type []string) to type []interface {}有“解決方法”解決此問題嗎?
3 回答

千巷貓影
TA貢獻1829條經驗 獲得超7個贊
如果僅是要打印的字符串片段,則可以通過加入以下命令來避免轉換并獲得完全相同的輸出:
package main
import (
"fmt"
"flag"
"strings"
)
func main() {
flag.Parse()
s := strings.Join(flag.Args(), " ")
fmt.Println(s)
}
- 3 回答
- 0 關注
- 210 瀏覽
添加回答
舉報
0/150
提交
取消