• [Go] golang类型断言


    类型断言有点像向下转型,接口类型转到具体的实现实例类型上
    类型断言是一个使用在接口值上的操作。语法上它看起来像x.(T)被称为断言类型,这里x表示一个接口的类型和T表示一个类型

    package main
    
    import (
    	"fmt"
    )
    
    //定义一个接口
    type Person interface {
    	Say()
    }
    
    //定义一个类型
    type Tsh struct {
    	name string
    }
    
    //实现接口的方法
    func (tsh *Tsh) Say() {
    	fmt.Println("我是 Tsh类型的方法,我是", tsh.name)
    }
    
    //测试方法
    //传递的参数是Person类型
    func test(p Person) {
    	//注意:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    	//如果要使用它的实现实例Tsh的name属性,那么就需要类型断言
    	name := p.(*Tsh).name
    	fmt.Println(name)
    }
    func main() {
    	//实例化
    	tsh := Tsh{
    		name: "陶士涵",
    	}
    	//传入测试方法
    	test(&tsh)
    }
    

      

  • 相关阅读:
    随机数表示方法
    何时用重定向何时用转发
    http中重定向和请求转发
    Java正则表达式
    自定义圆形的ProgressBar
    Android内存管理机制
    Android 安全机制
    8位颜色值的含义
    Shape使用
    Bitmap(三)
  • 原文地址:https://www.cnblogs.com/taoshihan/p/10422738.html
Copyright © 2020-2023  润新知