Go語言中可以使用JSON對象作為函數參數。
// 定義一個結構體 type Person struct { Name string `json:"name"` Age int `json:"age"` } // 定義一個函數,接收一個JSON對象 func SayHello(person *Person) string { return "Hello, " + person.Name }
在上述代碼中,定義了一個Person結構體,該結構體有兩個字段:Name和Age,并且都使用了json標簽來指定字段名。接著定義了一個函數SayHello,接收一個指向Person結構體的指針作為參數。
在調用函數時,可以使用json.Unmarshal將JSON字符串轉換為Person結構體:
// JSON字符串 jsonStr := `{"name":"Alice","age":18}` // 將JSON字符串轉換為Person結構體 var person Person err := json.Unmarshal([]byte(jsonStr), &person) if err != nil { fmt.Println(err) } // 調用函數 result := SayHello(&person) fmt.Println(result)
在上述代碼中,首先定義了一個JSON字符串,然后使用json.Unmarshal將JSON字符串轉換為Person結構體,注意要將指向person結構體的指針傳遞給json.Unmarshal函數。最后將轉換后的Person結構體的指針作為參數調用SayHello函數。
使用JSON對象作為函數參數可以方便地傳遞復雜的數據結構,例如嵌套的結構體、數組等。在函數中可以直接使用結構體的字段名來訪問其中的數據。
下一篇python 打開網卡