The Go Programming Language一书中echo程序中的“sep”有什么意义?

时间:2015-11-08 23:21:32

标签: go

来源:https://github.com/adonovan/gopl.io/blob/master/ch1/echo1/main.go

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)
}

以下是The Go Programming Language一书中的echo程序。它基本上与您在运行程序后在控制台中键入的内容相呼应。

sep字符串变量有什么意义?

该程序似乎运行得非常好,没有并以这种方式结合。

s += os.Args[i]代替s += sep + os.Args[i]

2 个答案:

答案 0 :(得分:3)

sep确保单词之间有空格而不是开头或结尾。

这就是为什么它是变量

答案 1 :(得分:1)

在命令行(终端或CMD.exe)中,cd到包含此文件的文件夹并执行:

go run main.go a b c

输出将是:

  

a b c

然后,从代码中删除sep变量并再次从命令行运行它。新输出将是:

  

ABC

因此,sep变量用作分隔符 - 它在应用程序启动时传递给main函数的两个命令行参数之间添加空格