golang 断言 + 类型转换


当传参是接口类型,需要强制类型转换,

如下:

package main

import "fmt"

type bbc struct {
	a int32
}

func main() {
	k(bbc{a:100})

}

func k(p interface{})  {
	if msg, ok := p.(bbc); ok {
		fmt.Println(msg.a)

	}
}

  或

package main

import "fmt"

type bbc struct {
	a int32
}

func main() {
	k(&bbc{a:100})    // 注意,这里对应的强制转化类型

}

func k(p interface{})  {
	if msg, ok := p.(*bbc); ok {
		fmt.Println(msg.a)

	}
}

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM