类型读者接口{   读(p[]字节)(n int,犯错os.Error)   }//作家是包裹了基础写方法的接口。   {作家接口类型   写(p[]字节)(n int,犯错os.Error)   }      var r io.Reader   r=os.Stdin   r=bufio.NewReader(右)   r=新(bytes.Buffer)      

有一个事情是一定要明确的,不论r保存了什么值,r的类型总是<代码> io。读者>   

  


  

  

在类型中有一个重要的类别就是接口类型,表达了固定的一个方法集合。一个接口变量可以存储任意实际值(非接口),只要这个值实现了接口的方法.interface在内存上实际由两个成员组成,如下图,标签指向虚表,数据则指向实际引用的数据。虚表描绘了实际的类型信息及该接口所需要的方法集。

        {斯特林格接口类型   字符串()字符串   }      类型的二进制uint64      func(二进制)字符串String () {   返回strconv.FormatUint (i.Get (), 2)   }      uint64 func(二进制)得到(){   返回uint64(我)   }      函数main () {   var b二进制=32   s:=斯特林格(b)   fmt.Print (s.String ())   }