java银行面试题目及答案详解,Go 语言基础,新网银行java面试

}

func AsyncService() chan string {

retCh := make(chan string, 1)//创建一个容量为1元素类型为string的通道

go func() {

ret := service()

fmt.Println(“returned result.”)

retCh <- ret//将值放入通道retCh中

fmt.Println(“service exited.”)

}()

return retCh

}

func TestAsynService(t *testing.T) {

retCh := AsyncService()

otherTask()

fmt.Println(<-retCh)//从通道retCh中取去出一个值

time.Sleep(time.Second * 1)

}

通道创建语法: make(chan 元素类型, 容量),容量是可选值指通道最多可以缓存多少元素值,这个值不能为负数

当容量为0时,称为非缓冲通道,大于0时称为缓冲通道

通道是个队列,遵循先进先出的原则

元素值的发送和接受都需要用接收操作符 <-

进入通道的并不是在接受操作符右边的那个元素,而是它的副本

  • 22
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值