cobra 命令行工具集

主要解释 cobra 三方库的使用,快速创建命令行工具,类比 grep、less 这样的指令。还会有很大的篇幅来介绍接收控制台命令行输入,因为控制台本身存在存在一些限制或者说模式的影响,会导致单行文本的输入受限。

环境准备

go 语言环境准备,mac 使用 homebrew 进行包管理,而本机的 go 版本过低需要进行升级,本地版本: go version go1.21.11 darwin/amd64

cobra 命令行

仓库地址:https://github.com/spf13/cobra

作者提供了一个脚手架命令:cobra-cli 来方便我们快速搭建仓库,cobra-cli is a command line program to generate cobra applications and command files

更多的细节都可以通过阅读README来获得,建议大家再使用之前去看一下README是否已经发生了变更

go install github.com/spf13/cobra-cli@latest

获取控制台的用户输入

我们现在开始搭建一个命令行项目,项目名称:small,然后一次执行下面的命令,就完成了初始工程的搭建:
在这里插入图片描述

我们增加一个命令行指令:input,用来接收控制台的用户输入,然后将输入重新输出到控制台。

  1. 命令行的功能部分依赖 cobra-cli 添加cobra-cli add input,框架代码就搭建好了
  2. 读取控制台的部分依赖大模型自动生成

自动生成的代码逻辑部分:go语言读取os.stdin的控制输入的代码,代码部分已经开发完成了,看一下最终的执行效果

	reader := bufio.NewReader(os.Stdin)

	fmt.Print("请输入一些文本,然后按回车: ")

	// ReadLine 会读取一行文本,直到遇到换行符('\n')
	input, err := reader.ReadString('\n')
	if err != nil {
		fmt.Fprintf(os.Stderr, "读取输入时发生错误: %v\n", err)
		os.Exit(1)
	}

	// 去除输入末尾的换行符
	input = strings.TrimSuffix(input, "\n")

	fmt.Printf("你输入的是: %s\n", input)

相关推荐

  1. Golang使用cobra实现命令程序

    2024-06-16 16:30:04       56 阅读
  2. ffmpeg命令工具安装

    2024-06-16 16:30:04       38 阅读
  3. Linux命令系列:Netcat网络工具

    2024-06-16 16:30:04       52 阅读
  4. 面板小程序命令工具介绍

    2024-06-16 16:30:04       53 阅读
  5. ffmpeg三大命令工具

    2024-06-16 16:30:04       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-16 16:30:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-16 16:30:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-16 16:30:04       82 阅读
  4. Python语言-面向对象

    2024-06-16 16:30:04       91 阅读

热门阅读

  1. python 去除图片马赛克

    2024-06-16 16:30:04       34 阅读
  2. qgis导入excel文件

    2024-06-16 16:30:04       25 阅读
  3. pytorch支持更多onnx算子

    2024-06-16 16:30:04       32 阅读
  4. 一血c++

    2024-06-16 16:30:04       28 阅读
  5. (简单)html转图片-html2canvas

    2024-06-16 16:30:04       28 阅读
  6. v3+ts/request封装axios

    2024-06-16 16:30:04       30 阅读
  7. Vue基础面试题(三)

    2024-06-16 16:30:04       29 阅读
  8. Web前端指令符:解码、应用与挑战

    2024-06-16 16:30:04       24 阅读
  9. 【无标题】

    2024-06-16 16:30:04       21 阅读
  10. 超级数据查看器 教程pdf 1-31集 百度网盘

    2024-06-16 16:30:04       39 阅读
  11. Oracle数据库之多行函数(十九)

    2024-06-16 16:30:04       32 阅读