Ich werde folgendes als Befehl geben, um mein Go-Programm zu starten.Argument Verarbeitung in Golang
gehen app.go 3001-3005
Was führen dies tun soll, mein gehen Erholung api auf Server-Ports 3001 bis 3005.
Dieser Teil meiner Hauptfunktion ausführen was behandelt dieses Argument.
func main() {
ipfile := os.Args[1:]
s := strings.Split(ipfile, "-")
mux := routes.New()
mux.Put("/:key1/:value1", PutData)
mux.Get("/profile/:key1", GetSingleData)
mux.Get("/profile", GetData)
http.Handle("/", mix)
Hier werde ich eine for-Schleife ausführen und das erste Argument durch s [i] ersetzen.
http.ListenAndServe(":3000", nil)
}
bekomme ich folgende Ausgabe:
cannot use ipfile (type []string) as type string in argument to strings.Split
Welche Datentyp zurückgibt os.args? Ich habe versucht, es in String zu konvertieren und dann zu teilen. Funktioniert nicht. Bitte lassen Sie mich wissen, was los ist?
auch: 'http.ListenAndServe' blockiert, so dass Sie jeden Zuhörer in seinen eigenen goroutine abzufeuern (zB als Teil eines' sync.WaitGroup'), wenn Sie drei gleichzeitige Listener an verschiedenen Ports haben möchten. – elithrar
Können Sie mir sagen, wie man sync.Waitgroup in diesem Zusammenhang verwendet? – RJP