本文介绍: go 反射。pair
  1. 变量的结构

在这里插入图片描述
2 举个例子

package main

import "fmt"

type Reader interface {
	ReadBook()
}

type Writer interface {
	WriteBook()
}


//具体类型
type Book struct {

}

func (this *Book) ReadBook() {
	fmt.Println("Read a Book")

}

func (this *Book) WriteBook() {
	fmt.Println("Write a Book")

}

func main() {

	//b: pair<type:Book,value:book>
	b := &Book{}
	//r: pair<type:,value>
	var r Reader
	//r:pair<type:Book,value:book{}地址>
	r = b
	r.ReadBook()

	var w Writer
	//r:pair<type:Book,value:book()地址>
	w=r.(Writer)  //此处w r具体的type是一致的
	w.WriteBook()

}

在这里插入图片描述

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注