gpt4 book ai didi

go - 命令行应用程序输出使用说明,即使我认为我已经正确使用它

转载 作者:行者123 更新时间:2023-12-01 22:37:17 25 4
gpt4 key购买 nike

输入

go run site-downloader.go --url https://www.google.com

预期产出
Passed url: https://www.google.com

实际输出
Passed url: NAME:
Site downloader - Follows an URL and downloads rendered html content. Follows and download anchor links to child pages recursively. Only follows relative links.

USAGE:
site-downloader [global options] command [command options] [arguments...]

COMMANDS:
help, h Shows a list of commands or help for one command

GLOBAL OPTIONS:
--url value Site url
--help, -h show help (default: false)

我的代码有什么问题?
package main

import (
"fmt"
"log"
"os"

"github.com/urfave/cli"
)

var app = cli.NewApp()

func info() {
app.Name = "Site downloader"
app.Usage = "Follows an URL and downloads rendered html content. Follows and download anchor links to child pages recursively. Only follows relative links."
}

func commands() string {
var url string

urlFlag := cli.StringFlag{
Name: "url",
Usage: "Site url",
Destination: &url,
}

app.Flags = []cli.Flag{
&urlFlag,
}

return url
}

func main() {
info()
var url = commands()

fmt.Printf("Passed url: %v", url)

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

最佳答案

我认为您需要实现 Action而且检索网址也不是那样的,请检查此代码


func commands() {
var url string

urlFlag := cli.StringFlag{
Name: "url",
Usage: "Site url",
Destination: &url,
}

app.Flags = []cli.Flag{
&urlFlag,
}
}

func main() {
info()
commands()

app.Action = func(c *cli.Context) error {
fmt.Printf("Passed url: %v", c.String("url"))
return nil
}

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


请注意,我从 func commands() 中删除了 return

关于go - 命令行应用程序输出使用说明,即使我认为我已经正确使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59494078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com