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]
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
sep makes sure that there is a space between words and not at the beginning or end.
That's why it's a variable