让我们构建GO CLI名片 - 第1部分
#初学者 #教程 #go #cli

似乎每个开发人员都在试图找到一种聪明的方法来引起人们的注意。这样,您可能会偶然发现许多有趣的项目完成各种事情。但是,您可以做的一个简单简单的项目是为自己制作名片(伪装成CLI程序)!

为此,我们将在GO中编写我们的CLI程序,并利用cobra,这是一个很棒的GO库来快速有效地创建此卡。

为了给我们的程序一些角色,我们将在本教程中利用box-cli-marker,这是一个很棒的项目,您应该检查!

在开始之前为什么要去?

Go是该项目使用的一种很好的语言,因为它是一种编译语言,这意味着它可以快速且易于使用,因为编译器会为您捕获大多数错误。由于已编译,因此也很容易将您的程序分发给其他人。

另外,Go在this上有文章,但我个人一直在与GO合作,发现与之合作非常有趣。从我发现的东西来看,社区和语言本身对CLI的支持也非常出色。

但是,关于为什么要去的足够,让我们开始!

入门

首先,让我们创建一个新的Go project(GO的官方文档是一个不错的起点)。

然后,让我们安装眼镜蛇及其CLI。 Cobra是GO的绝佳CLI库,CLI是快速入门的好工具。

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

现在我们已经安装了眼镜蛇CLI,让我们通过使用1个简单命令运行来设置一些样板。

cobra-cli init businesscard

请注意,businesscard是此示例的CLI的名称,但是您可以将其命名(例如:Jdvert是我用于自己的卡片)。

这将为您为您生成一个cmd目录。这是您的大部分代码居住的地方

看一切是否正常,让我们安装我们的CLI并运行它!

go install
businesscard

您应该看到以下输出(默认的眼镜蛇输出):

A longer description that spans multiple lines and likely contains
examples and usage of using your application. For example:

Cobra is a CLI library for Go that empowers applications.
This application is a tool to generate the needed files
to quickly create a Cobra application.

实际卡

确认一切正常后,我们就可以开始创建我们的自定义卡。

让我们更新命令以显示带有文本的框,而不是它显示的当前文本。

首先,让我们安装盒子式制造商库。这是一个很棒的库,可让您在其中创建带有文本的框。

go get -u github.com/Delta456/box-cli-maker

现在让我们更新我们的root.go文件以通过查找rootCmd并将其更新为以下内容:

var rootCmd = &cobra.Command{
    Use:   "businesscard",
    Short: "A personal business card CLI",
    Long:  "businesscard is a personal business card because who has time to actually spend printing real ones.",
    Run: func(cmd *cobra.Command, args []string) {
        // This is where we will add our box which can be found looking at https://github.com/Delta456/box-cli-maker#usage 
        // and the examples in the README are a great place to start!
        Box := box.New(box.Config{Px: 4, Py: 1, Type: "Double", Color: "Cyan", ContentAlign: "Center"})
        Box.Print(
            "John Doe",
            "Let's build something fun!\n"+
                "\n\n"+
                "Thanks for checking out my card! Happy coding!",
        )
    },
}

现在让我们通过运行go install然后再次尝试我们的新卡。

现在您在运行命令时应该看到以下内容!

Image of the cli running with the code shown above

您可以根据自己的意愿自定义卡,而box-cli-marker有很多有关如何做到这一点的示例。更改颜色,图标,大小等。天空是极限!

结论

在教程的第一部分中,我们设置了GO名片CLI计划,并在我们的终端看起来很棒。但是,这仍然是一个程序,而不是实际卡。因此,我们需要某种方法来允许用户与之互动!看看如何在第2部分(即将推出)中执行此操作。

愉快的编码,并随意给我一个指向您卡的链接,以便我可以检查一下!

在这里,我的帖子托管在GitHub