原文链接:https://www.zhoubotong.site/post/94.html
说下背景吧,大家在开发中可能在不同的目录(package)下定义了相同的struct(属性参数完全一样如名字、个数和类型),在方法调用传参数的时候,可能是用到了其中某一个struct的引用。
那么这里就牵扯到相互间的转换:直接上demo:
显然类型不匹配:cannot use info (variable of type *PackgeAResp) as *PackgeBResp value in argument to demo
两个相同struct是可以强转换的:
注意:两个结构体需要有完全相同的字段(名字、个数和类型)。
再举个例子:
当然我们还可以通过结构体进行type重新定义(相当于取别名)的方式实现,Golang认为是新的数据类型,但是相互间是可以强转的:
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |