go语言编程 小试牛刀 goroutine和reflect知识点

(一)goroutine

package _case

import "fmt"

// sum 函数计算整数切片 values 的总和,并将结果发送到 resultChan 通道中
func sum(values []int, resultChan chan int) {
	sum := 0
	for _, value := range values {
		sum += value
	}
	resultChan <- sum // 将计算结果发送到 channel 中
}

// ParacalcCase 函数演示并发计算,将整数切片分为两部分,并使用两个 goroutine 计算总和
func ParacalcCase() {
	values := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
	resultChan := make(chan int, 2) // 创建一个缓冲大小为 2 的整数通道
	go sum(values[:len(values)/2], resultChan) // 启动一个 goroutine 计算切片的前半部分总和
	go sum(values[len(values)/2:], resultChan) // 启动一个 goroutine 计算切片的后半部分总和
	sum1, sum2 := <-resultChan, <-resultChan // 从通道中接收两个计算结果
	fmt.Println("Result:", sum1, sum2, sum1+sum2) // 打印计算的结果
} // paracalcCase

 

在这段代码中,实现了并发计算的功能。主要内容如下:

  1. 定义函数 sum

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呵呵哒( ̄▽ ̄)"

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值