W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
我們之前提到可以使用?Struct
?方法實現(xiàn)對?struct
?對象的轉(zhuǎn)換,那么我們當然也可以實現(xiàn)對?struct
?數(shù)組的轉(zhuǎn)換,?struct
?數(shù)組轉(zhuǎn)換使用的是?Structs
?方法實現(xiàn)。?Structs
?方法建立在Struct方法的基礎之上,所有的轉(zhuǎn)換規(guī)則與?Struct
?相同,只是增加了對?struct
?數(shù)組類型的支持。
?Structs
?方法定義如下:
// Structs converts any slice to given struct slice.
func Structs(params interface{}, pointer interface{}, mapping ...map[string]string) (err error)
其中?pointer
?目標轉(zhuǎn)換參數(shù)類型需要為?*[]struct/*[]struct
?
我們來看一個簡單示例即可理解。
package main
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/util/gconv"
)
func main() {
type User struct {
Uid int
Name string
}
params := g.Slice{
g.Map{
"uid": 1,
"name": "john",
},
g.Map{
"uid": 2,
"name": "smith",
},
}
var users []*User
if err := gconv.Structs(params, &users); err != nil {
panic(err)
}
g.Dump(users)
}
執(zhí)行后,終端輸出:
[
{
"Uid": 1,
"Name": "john"
},
{
"Uid": 2,
"Name": "smith"
}
]
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: