go语言接口切片,管道切片

interface切片定义语法:

arr := []interface{}{}

or

arr := make([]interface{}, 0)

一开始有点懵,仔细一想,interface{} 才是一个数据类型,所以第一种方法后面两个大括号不足为奇;第二种方法,比较清晰。这个切片可以存储所有的数据类型,以前我记得老师说实际作用不大,认识就行,小demo

	//arr := []interface{}{}
	arr := make([]interface{}, 0)
	type mystc struct{
		data int
	}
	m := mystc{1}
	arr = append(arr, 1)
	arr = append(arr, "222")
	arr = append(arr, m)
	
	for _,v := range arr{
		fmt.Println(v)
	}

结果

1
222
{1}

然后就是chan切片
就是好几个chan在一起的数据类型
语法是

chans := []<-chan int{}

案例:

chans := []<-chan int{}
	chan1 := make(chan int, 3)
	chan2 := make(chan int, 4)
	for i := 0;i<3;i++{
		chan1<-i
		chan2<-i
	}
	close(chan1)
	close(chan2)
	chans = append(append(chans, chan1), chan2)
	fmt.Printf("chan1的地址%v,\nchan1的地址%v\n,chans :%v", chan1,chan2,chans)
chan1的地址0xc042064080,
chan1的地址0xc042064100,
chans :[0xc042064080 0xc042064100]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值