Golang类型断言和显示强制转换
Golang中类型转换,可以使用断言(只能使用在interface{}类型转换成其它类型)和显示强转(常规用于基本类型)
func(params graphql.ResolveParams) (interface{}, error) {
// 断言使用在interface{}转换,Args定义时map[string]interface{}
id, _ := params.Args["id"].(int)
name, nameOk := params.Args["name"].(string)
info, infoOk := params.Args["info"].(string)
price, priceOk := params.Args["price"].(float64)
product := Product{}
for i, p := range products {
//显示类型转换
if int64(id) == p.ID {
if nameOk {
product[i].Name = name
}
if infoOk {
products[i].Info = info
}
if priceOk {
products[i].Price = price
}
product = products[i]
break
}
}
return product, nil
}
评论
0 评论