drvfqr5609 2015-11-08 23:21
浏览 97
已采纳

Go编程语言书中的echo程序中的“ sep”有什么意义?

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

Here is the echo program from the The Go Programming Language book. It basically echoes whatever you type in the console after you run the program.

What is the point of sep string variable?

The program seems to run perfectly fine without and concatinating this way.

s += os.Args[i] instead of s += sep + os.Args[i]

  • 写回答

2条回答 默认 最新

  • doumi2106 2015-11-08 23:30
    关注

    In command line (Terminal or CMD.exe), cd to folder with this file and execute:

    go run main.go a b c
    

    Output will be:

    a b c

    Then, remove the sep variable from code and run it from command line again. New output will be:

    abc

    Therefore,sep variable is used as separator - it adds blank space between two command line arguments passed to main function on application startup

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?