zoukankan      html  css  js  c++  java
  • golang:reflect反射

    因为之前一直以C++为主要开发语言,所以刚接触go语言中的reflect时感觉很懵逼,因此决定找资料彻底学习一下。

    到底反射是什么?

    https://blog.golang.org/laws-of-reflection

    根据这篇文章中的介绍:

    Reflection in computing is the ability of a program to examine its own structure, particularly through types; it's a form of metaprogramming. 

    反射是一个程序可以检查它自己的结构的能力,特别是通过类型,这是一种元编程的形式。

    这篇文章通过介绍go语言中reflect是如何工作的来解释反射的概念。

    文中的要点有以下几点:

    1、接口的表示

    一个接口类型变量存储了一对值:具体的值和值的类型描述。

    2、反射的三个规则

    1.从接口到反射对象

    通过两个方法:reflect.TypeOf、reflect.ValueOf获取接口中的内容,分别返回Type类型和Value类型。

    2.从反射对象到接口

    通过Interface方法从一个Value类型返回一个空的interface{}

    3、如果要修改一个反射对象,值必须是可以设置的

  • 相关阅读:
    X
    W
    J
    A
    Q
    P
    B
    排列和组合的求解
    深度学习之序列处理
    32位和64位数据类型大小对比
  • 原文地址:https://www.cnblogs.com/lit10050528/p/8947947.html
Copyright © 2011-2022 走看看