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

Posted mignet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go练习:交叉输出数字和字母相关的知识,希望对你有一定的参考价值。

问题:请使用两个线程,一个输出字母,一个输出数字,交替输出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练习:交叉输出数字和字母的主要内容,如果未能解决你的问题,请参考以下文章

华为机试练习计算字符个数

C++ 入门学习(练习+代码)—— 02

Python 2 声明变量 输入输出 + 练习

Python 2 声明变量 输入输出 练习

Python 2 声明变量 输入输出 练习

练习3-4 统计字符 (15分)