函数参数为接口数组模式

cnbobolee · · 1821 次点击
``` GetAllTime1([]DemoStruct{ds1, ds2}) // 1.错误 //DemoStruct结构实现了DemoInterface接口,所以接口的变量才可赋值为DemoStruct结构类型的值 //但是结构类型、接口类型、切片类型都是独立的类型,[]DemoInterface切片和[]DemoStruct是两个类型 //即切片的元素才可被赋值为DemoStruct结构的值。 GetAllTime1([]DemoInterface{ds1, ds2}) ---------------------------或如下 var ditf = make([]DemoInterface, 2) //定义接口切片 ditf[0] = ds1;ditf[1] = ds2;GetAllTime1(ditf) // 正确 ```
#1
更多评论
谢谢!我之前把切片分开来看的,类似于泛型模式,作为数组元素类型对待。
#2