【Go语言开发——goterm创建的终端应用程序的交互之excutor基本介绍】

1. 终端应用程序的运行过程

p := goterm.New(
    executor,
    completer,
    goterm.OptionPrefix(currentDir+">>> "),
    goterm.OptionLivePrefix(changeLivePrefix),
    goterm.OptionTitle("my terminal"),
)

根据上篇文章介绍,我们知道goterm.New就是实例化一个终端应用程序。那么executor作为对象或者函数传入。这里面就是具体的命令行的解析和执行。

2. 什么时候执行 executor

executor 函数在用户输入命令并按下回车键时执行。具体来说,它是在终端应用程序的主循环中调用的。以下是一个典型的终端应用程序主循环示例:

func main() {
    currentDir, _ := os.Getwd()
    changeLivePrefix := func() (string, bool) {
        return currentDir + ">>> ", true
    }

    p := goterm.New(
        executor, // 这里传递了 executor 函数
        completer,
        goterm.OptionPrefix(currentDir+">>> "),
        goterm.OptionLivePrefix(changeLivePrefix),
        goterm.OptionTitle("NUWA TERMINAL"),
    )

    p.Run() // 运行终端应用程序
}

在这个示例中,goterm.New 函数创建了一个新的终端应用程序实例,并将 executor 函数作为参数传递。p.Run() 方法启动终端应用程序的主循环,等待用户输入。当用户输入命令并按下回车键时,终端应用程序会调用 executor 函数来处理输入的命令。

3. executor 函数的作用

executor中就是你执行命令要进行的各种处理。例如:

  • 命令解析:当你输入命令的时候,根据你输入的命令执行相应的操作
    可以实现相应的交互功能。

4. 总结

executor 函数在用户输入命令并按下回车键时执行。它负责处理用户输入的命令,包括日志记录、模式切换、退出命令等。终端应用程序的主循环通过调用 executor 函数来处理用户输入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值