[Go] gocron源码阅读-通过第三方cli包实现命令行参数获取和管理

gocron源码中使用的是下面这个第三方包来实现的,下面就单独的拿出来测试以下效果,和官方flag包差不多

go get github.com/urfave/cli

复制代码
package main

import (
    "fmt"
    "log"
    "os"

    "github.com/urfave/cli"
)

func main() {
    app := cli.NewApp()
    var flags []cli.Flag
    flags = append(flags, cli.StringFlag{
        Name:  "host",
        Value: "0.0.0.0",
        Usage: "bind host",
    }, cli.IntFlag{
        Name:  "port,p",
        Value: 5090,
        Usage: "bind port",
    }, cli.StringFlag{
        Name:  "env,e",
        Value: "prod",
        Usage: "runtime environment, dev|test|prod",
    })
    app.Flags = flags

    app.Action = func(c *cli.Context) error {

        fmt.Println("host:", c.String("host"))
        fmt.Println("port:", c.String("port"))
        fmt.Println("env:", c.String("env"))
        return nil
    }

    err := app.Run(os.Args)
    if err != nil {
        log.Fatal(err)
    }
}
复制代码

posted @   唯一客服系统开发笔记  阅读(293)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示
1
chat with us