首页 > 其他 > 详细

go练习:交叉输出数字和字母

时间:2020-01-18 18:49:22      阅读:122      评论:0      收藏:0      [点我收藏+]

问题:请使用两个线程,一个输出字母,一个输出数字,交替输出1A2B3C....26Z

技术分享图片

 

 java的实现

技术分享图片

 

 我们来练习使用go实现

package main

import (
    "fmt"
)

func main() {
    var h = 65
    var c, d, e = make(chan int), make(chan int), make(chan int)

    go func() {
        for i := 0; i < 26; i++ {
            <-c
            fmt.Print(i+1, ">")
            d <- 1
        }
    }()
    go func() {
        for i := h; i < h+26; i++ {
            <-d
            fmt.Printf("%c|", i)
            if i < h+26-1 {
                c <- 1
            }
        }
        e <- 1
    }()
    c <- 1
    <-e
}

 

go练习:交叉输出数字和字母

原文:https://www.cnblogs.com/mignet/p/12209851.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!