Ich schreibe ein CLI-Interface-Programm in Go.my Programm erfordert einen Benutzer einen Dateinamen als Argument eingeben. Folgendes ist der Code, den ich geschrieben habe, um die Situationen zu behandeln, in denen Benutzer kein Argument eingeben. aber es Panik und gibt einen Fehler "Index außerhalb des Bereichs". Wie gehe ich damit um?Golang: Wie handle ich mit Index außerhalb des Bereichs Fehler?
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))
}
}
Bitte zeigen Sie uns den vollständigen Code. Das aktuelle Snippet kann nicht in Panik geraten. –
Ich kann dieses Problem nicht reproduzieren. Sind Sie sicher, dass Sie genau diesen Code erhalten? –
In Go wie in C wird der ausführbare Pfad als erster Parameter der Argumentenliste übergeben. Also musst du das überprüfen len == 1 – Warrior