go 反射

作者: wayyyy | 来源:发表于2021-10-23 14:30 被阅读0次

在面对类型时,我们要区分 Type 和 Kind,前者表示真实类型(静态类型),后者表示其基础结构(底层类型)类别。

  • 特殊的静态类型interface
    interface 类型是一种特殊的类型,它代表了方法集合,它可以存放任何实现了其方法的值。
    比如

    • 特殊的interface{}类型
      最特殊的interface类型为interface{},interface用来表示一组方法集合,所有实现该方法集合的类型都被认为是实现了该接口。那么空interface类型的方法集合为空,也就是说所有类型都可以认为是实现了该接口。所以一个interface{}类型变量可以存放所有值。

    • interface 类型是如何表示的?

      var r io.Reader
      tty, err := os.OpenFile()
      

      r 的类型是什么?r的类型时钟是io.Readerinterface类型,无论其存储什么值,r保存了一个(value, type)对来表示其所存储值的信息:value即为r所持有元素的值,type即为所持有元素的底层类型

      我们可以使用类型断言:w = r.(io.Writer),意思是如果r所持有的元素如果同样实现了io.Writer接口,那么就把值传递给w。

  • 获取类型

  • 获取方法

  • 获取类型字段标签

相关文章

  • golang 反射机制

    go语言也有反射机制,今天自学到go的反射,发现还是很值得记录一些这个知识点的。go语言它是通过 reflect ...

  • reflect.go包学习_之二 指针操作提高反射性能 反射应用

    reflect.go包学习_之二 指针操作提高反射性能 反射应用 反射创建实例 反射信息、反射调用方法、反射修改值...

  • go反射

    reflect[https://studygolang.com/pkgdoc]:在运行时动态的获取一个变量的类型信...

  • go 反射

    反射的概念 反射就是程序能够在运行时动态的查看自己的状态,比关切允许修改自身的行为。1、GO的反射基础是接口和类型...

  • Go反射

    1、chan类型

  • go 反射

    在面对类型时,我们要区分 Type 和 Kind,前者表示真实类型(静态类型),后者表示其基础结构(底层类型)类别...

  • Go: 反射

    反射是Go中的高级语法,本文将以尽可能用简单的方式来介绍它。本文包括以下部分: 什么是反射? 如何检查一个变量及其...

  • GO 反射

    虽然在大多数的应用和服务中并不常见,但是很多框架都依赖 Go 语言的反射机制简化代码。因为 Go 语言的语法元素很...

  • Golang 学习笔记十四 反射

    参考《快学 Go 语言》第 15 课 —— 反射反射是 Go 语言学习的一个难点,但也是非常重要的一个知识点。反射...

  • Go教程第二十五篇:Go中的反射

    Go中的反射 本文是《Go系列教程》的第二十六篇文章。 反射是Go的高级特性之一。我将尽力讲解地简单些。 本教程具...

网友评论

      本文标题:go 反射

      本文链接:https://www.haomeiwen.com/subject/jglniltx.html