007 Golang-channel-practice 打印水分子

对应leetcode 1117

https://leetcode.cn/problems/building-h2o/description/

题目大意:在三个为一组的字符串中,打印两个H,一个O,顺序不限。

这在go里面很容易实现。只需要在每个函数前加上一个go关键词,就可以轻松实现并发了。直接看代码!

Go 复制代码
package main

import (
	"fmt"
	"sync"
)

func main() {
	for {
		var wg sync.WaitGroup
		wg.Add(3)
		go H1(&wg)
		go H2(&wg)
		go O1(&wg)
		wg.Wait()
		fmt.Println()
	}
}

func H1(wg *sync.WaitGroup) {
	defer wg.Done()
	fmt.Print("H")
}

func H2(wg *sync.WaitGroup) {
	defer wg.Done()
	fmt.Print("H")
}

func O1(wg *sync.WaitGroup) {
	defer wg.Done()
	fmt.Print("O")
}

打印效果:

相关推荐
无语......18 分钟前
安装uv并管理 Python / 包
开发语言·python·uv
道剑剑非道20 分钟前
【C++ 仿 MFC 反射系统】
开发语言·c++·mfc
Elastic 中国社区官方博客1 小时前
在 Elastic 中使用 OpenTelemetry 内容包可视化 OpenTelemetry 数据
大数据·开发语言·数据库·elasticsearch·搜索引擎
C+++Python1 小时前
如何学习Python的应用领域知识?
开发语言·python·学习
疯狂打码的少年1 小时前
【Day12 Java转Python】Python工程的“骨架”——模块、包与__name__
java·开发语言·python
全栈开发圈1 小时前
新书速览|MATLAB数据分析与可视化实践:视频教学版
开发语言·matlab·数据分析
网域小星球1 小时前
C 语言从 0 入门(二十二)|内存四区:栈、堆、全局、常量区深度解析
c语言·开发语言
止语Lab1 小时前
Go 内存管理优化:内联是逃逸分析的隐藏杠杆
golang
晓纪同学1 小时前
EffctiveC++_第三章_资源管理
开发语言·c++·算法
绿豆人2 小时前
Go设计模式学习
学习·设计模式·golang