0
我已經寫了下面的代碼片段在trial.go
:如何正確解開命令行輸入?
type Mine struct{
A string `json:"a"`
}
func main(){
s := Mine{}
v := os.Args[1]//`{"a":"1"}`
fmt.Println(v)
fmt.Println(reflect.TypeOf(v))
json.Unmarshal([]byte(v), &s)
fmt.Println(s)
}
我運行如下文件:
go run trial.go `{"A":"1"}`
但我不s
得到任何東西。它始終是一個空白的結構。
我在這裏做錯了什麼?
你試過從Unmarshal檢查錯誤嗎? – JimB
不同的錯誤實際上就像「無效字符」A'尋找對象鍵字符串的開始「,但我想@icza給出的答案爲我工作。雖然我現在感覺命令行輸入對我來說不是好的選擇,當我嘗試將上面的代碼片段用於較大的代碼段時,我期望更大的輸入字符串。我需要找到一個更好的方式來接受投入。 –
我認爲你應該只傳遞{「A」:「1」}而沒有後退滴答聲「 –