gpt4 book ai didi

戈朗 :how do I handle index out of range error?

转载 作者:IT王子 更新时间:2023-10-29 01:17:41 26 4
gpt4 key购买 nike

我正在用 Go 编写 CLI 接口(interface)程序。我的程序要求用户输入文件名作为参数。以下是我编写的处理代码用户不输入任何参数的情况。但它出现 panic 并给出错误“索引超出范围”。我该如何处理?

  package main

import (
"encoding/hex"
"fmt"
"io/ioutil"
"log"
"os"
)

func main() {
if len(os.Args) == 0 {
fmt.Println("usage: gohex <filename>")

os.Exit(1)
} else {
filename := os.Args[1]

data, err := ioutil.ReadFile(filename)
if err != nil {
log.Fatal(err)
}
fmt.Println(hex.Dump(data))
}

}

最佳答案

你的问题在于这一行:

if len(os.Args) == 0

您正在检查第一个参数,您认为它应该是文件名,但实际上是 go/可执行文件名。因此,如果您希望检查是否提供了参数,则需要检查参数长度是否大于 1。将代码更改为:

if len(os.Args) <= 1 {
log.Fatal("usage: gohex <filename>")
}

关于戈朗 :how do I handle index out of range error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37195234/

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