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
}

标题:Golang类型断言和显示强制转换
作者:reyren
地址:https://www.reyren.cn/articles/2021/07/09/1625797767231.html

    评论
    0 评论
avatar

取消