我刚刚开始学习golang已有几个星期,并开始学习频道和常规程序。但是我的代码似乎有错误,我似乎找不到它。
package main
import (
"fmt"
"time"
"runtime"
)
func isPrime(n int) bool {
for i:=2; i<n; i++ {
if n%i == 0 {
return false
}
}
return true
}
func findPrime(primes []int, from, to int, ch chan int ) {
for n:=from; n<to; n++ {
if isPrime(n) {
ch <- n
}
}
func main() {
fmt.Println("running CPU:", runtime.NumCPU())
start := time.Now()
step := 200
ch := make(chan int)
for i:=2; i<2000; i=i+step {
go findPrimes(primes, i, i+step)
}
count := 0
for count < 2000{
count++
n:= <-ch
fmt.Println(n)
}
fmt.Printf(" %v \n", count)
fmt.Printf("time: %v\n", time.Since(start))
}
程序缺少功能}
的结尾findPrime
。还有其他错误,但这足以使您继续前进。
对于上述错误,您需要为上述功能正确关闭parens。
func findPrime(primes []int, from, to int, ch chan int) {
for n := from; n < to; n++ {
if isPrime(n) {
ch <- n
}
}
}
如果您要修复其他错误(程序中已经存在此错误,请告诉我。)>
快乐编码😊