golang 类型强转

golang 类型强转,第1张

概述func main() { content:="{\"dd\":\"dd\",\"ff\":[\"lent\"]}" var v interface{} d8(content, v) d9(content, v)}func d9(content string, vv interface{}){ err := json.Unmarshal([]byte(content), &vv)
func main() {	content:="{\"dd\":\"dd\",\"ff\":[\"lent\"]}"	var v interface{}	d8(content,v)	d9(content,v)}func d9(content string,vv interface{}){	err := Json.Unmarshal([]byte(content),&vv)	if err != nil{		panic(err)	} else{		// 如果有ok做判断,强转失败就会出现为false的情况,如果为false,则不可以再使用强转失败的对象,不然会报错		if mp,mpOk := vv.(map[string] interface{}); mpOk{			loanStatusObj := mp["ff"]			// 如果有ok做判断,强转失败就会出现为false的情况,如果为false,则不可以再使用强转失败的对象,不然会报错。			// 这里已经强转会失败的。			loanStatus := loanStatusObj.(string)			fmt.Println(loanStatus)		}	}}func d8(content string,mpOk := vv.(map[string] interface{}); mpOk{			loanStatusObj := mp["ff"]			// 如果有ok做判断,强转失败就会出现为false的情况,如果为false,则不可以再使用强转失败的对象,不然会报错。			// 这里已经强转会失败的,但通过loanStatusOk来避免了使用loanStatus对象			if loanStatus,loanStatusOk := loanStatusObj.(string); loanStatusOk{				fmt.Println(loanStatus)			} else{				fmt.Println("格式不对,但不会出现异常")				fmt.Println("loanStatusOk = " + strconv.FormatBool(loanStatusOk))			}		}	}}

代码截图:


运行结果:

总结

以上是内存溢出为你收集整理的golang 类型强转全部内容,希望文章能够帮你解决golang 类型强转所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1272631.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存