【GO语言项目实战】编写入门命令行小工具、终端交互工具

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

这里有2个小项目,总代码不超过20行,通过它们可以了解如何用go写命令行小工具,在终端接收用户输入参数。


提示:以下是本篇文章正文内容,下面案例可供参考

一、命令行工具1:回显输入参数

通过os.Args包接收用户的输入参数,os.Args是[]string类型,第0个元素代表命令本身,从第1个元素开始代表命令行输入参数。

代码如下:

package main

import (
	"fmt"
	"os"
)

func main() {
	var s, sep string
	fmt.Printf("第0个参数:%v\n", os.Args[0])
	for i := 1; i < len(os.Args); i++ {
		s += sep + os.Args[i]
		sep = " "
	}
	fmt.Println(s)
}

终端运行结果:

PS D:\GoProjects\CMDtool> .\CMDtool.exe  1 2 aa 4ew
第0个参数:D:\GoProjects\CMDtool\CMDtool.exe
1 2 aa 4ew

二、命令行工具2:终端交互

通过os.Stdin标准输入接收用户输出参数,并用它创建reader,读取输入的时候以换行符'\n'作为结束的标志,提醒一点,换行符也被reader读取进去了,所以打印出来有换行效果,换行之后有一行空行是程序自己加的。

代码如下:

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	fmt.Println("你的名字是?")
	reader := bufio.NewReader(os.Stdin)
	txt, _ := reader.ReadString('\n')
	fmt.Printf("名字是%s\n", string(txt))
}

运行结果如下:

PS D:\GoProjects\CMDtool> .\CMDtool.exe            
你的名字是?
小花  
名字是小花

PS D:\GoProjects\CMDtool>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值