看《Go语言圣经》中遇到的疑问
// Echo1 prints its command-line arguments.
package main
import (
"fmt"
"os"
)
func main() {
var s, sep string
for i := 1; i < len(os.Args); i++ {
s += sep + os.Args[i]
sep = " " // <-- 这个位置为什么要在循环当中每次做赋值操作,而不是在循环之前发生?
}
fmt.Println(s)
}
我想应该输出结果是将输入的变量通过‘ ’连接后输出,例如:
args1 args2 args3
,拼接好字符串后在复制,防止字符串第一位是' ', 如果在之前复制那么不就输出args1 args2...
了么。