huangjiadog

第 2085 号会员 /

回复了 drongh 创建的主题: "bytes"包和“bufio”里的Reader等一些相似的函数啥区别?

在A包中定义接口

type Aer interface {
    do(int)
}

当在B包中也需要用到Aer接口,但是A,B包之间却没有直接的关联,没有必要为了一个接口而引进一个包,所以可以又在B包中另外定义一个一模一样的接口

type Ber interface {
    do(int)
}

当一个类型T有T.do(int)函数,就实现了 Aer, Ber两个接口(golang的特性,只要有相关函数,就是实现。也可以搜索下什么叫做鸭子类型)

既然我们可以通过自己在自己包里面实现,就没必要引进别的包了,这样减少包和包之间的关系的复杂度

回复了 drongh 创建的主题: 关于函数多返回值问题。

补充以下,nil和c++的NULL不一样的,nil就是nil,没有和NULL一样等于0这种说话。

指针或者接口的值可以是nil

int float之类的都不行,强制转换也不行