MST

星途 面试题库

面试题:Go语言Goroutine并发模型之通道使用

请使用Go语言编写一个程序,创建两个Goroutine,一个Goroutine向通道发送1到10的整数,另一个Goroutine从通道接收这些整数并打印出来。同时,要确保程序在所有数据发送和接收完成后安全退出。
37.0万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "fmt"
)

func sender(ch chan int) {
    for i := 1; i <= 10; i++ {
        ch <- i
    }
    close(ch)
}

func receiver(ch chan int) {
    for num := range ch {
        fmt.Println(num)
    }
}

func main() {
    ch := make(chan int)

    go sender(ch)
    go receiver(ch)

    select {}
}