Files
the-way-to-go_ZH_CN/eBook/examples/chapter_12/echo.go
2015-03-03 12:25:25 -05:00

30 lines
525 B
Go

package main
import (
"os"
"flag" // command line option parser
)
var NewLine = flag.Bool("n", false, "print newline") // echo -n flag, of type *bool
const (
Space = " "
Newline = "\n"
)
func main() {
flag.PrintDefaults()
flag.Parse() // Scans the arg list and sets up flags
var s string = ""
for i := 0; i < flag.NArg(); i++ {
if i > 0 {
s += " "
if *NewLine { // -n is parsed, flag becomes true
s += Newline
}
}
s += flag.Arg(i)
}
os.Stdout.WriteString(s)
}