入门书本上的第二个实例问题。。。

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)

}

这段代码里的sep = “ ”
和改为sep = “”的运行结果会有些不一样。
编译后为a.exe
a.exe 1234 123
的结果分别为
12341234123和1234 123
求解

共 2 个回复


jimmykuu

你结果弄错了吧,结果为 12341231234 123

sep 是分隔符的意思。

真不明白作者为何要用输入参数来举例,弄复杂了,定义一个 slice 来举例不是更清晰么。

另外这种操作实际一般用 strings.Join(a []string, sep string)

# 0

tmnykf

谢谢了。我明白什么原因了,

# 1