编写最简单的命令行工具
用户输入bufio
使用go语言编写最简单的命令行工具
mkdir hello-cli-demo
cd hello-cli-demo
# 查看环境变量
go env
go mod初始化
go mod init gitcode.com/m
打开vscode,创建main.go
package mainimport ("fmt""bufio""os"
)func main() {fmt.Println("你的名字是什么?")reader := bufio.NewReader(os.Stdin)text, _ := reader.ReadString('\n')fmt.Printf("你的名字是: %s",text)
}
运行,go run main.go
你的名字是什么?
小红
你的名字是: 小红
命令行参数os.Args
package mainimport ("fmt"_ "bufio""os"
)func main() {var s, sep stringfor i:= 1; i< len(os.Args); i++ {s += sep + os.Args[i]sep = " "}fmt.Println(s)
}
运行go build
$ .\m.exe 小明 小红
小明 小红
或者
$ go build . && m 我叫小明
我叫小明
代码优化
func main() {s, sep := "", ""for _, arg := range os.Args[1:] {s += sep + argsep = " "}fmt.Println(s)
}
代码优化
package mainimport ("fmt""os""strings"
)func main() {fmt.Println(strings.Join(os.Args[1:]," "))
}
参考资料
GO111MODULE 是个啥?