go语言(十四)----反射

  1. 变量的结构

go语言(十四)----反射_第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
	b := &Book{}
	//r: pair
	var r Reader
	//r:pair
	r = b
	r.ReadBook()

	var w Writer
	//r:pair
	w=r.(Writer)  //此处w r具体的type是一致的
	w.WriteBook()

}

go语言(十四)----反射_第2张图片

你可能感兴趣的:(golang,开发语言,后端)