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")
}

打印效果:

相关推荐
Java后端的Ai之路10 分钟前
【Java教程】- 并发编程核心知识解读
java·开发语言·并发编程
Sheep Shaun16 分钟前
C++11核心特性详解:从右值引用到现代C++编程
开发语言·数据结构·c++·算法
Dontla20 分钟前
Mybatis Introduction (Java ORM Framework)
java·开发语言·mybatis
信码由缰22 分钟前
JExten:基于Java模块系统(JPMS)构建健壮的插件架构
java·开发语言·架构
Dxy123931021624 分钟前
Python使用Playwright入门教程:从环境搭建到实战应用
开发语言·python·playwright
云深麋鹿31 分钟前
三.栈和队列
开发语言·数据结构·c++·算法
咚为1 小时前
Rust 错误处理的工程化演进:从 Result 到系统级边界设计
开发语言·后端·rust
qq_406176141 小时前
深入剖析JS中的XSS与CSRF漏洞:原理、攻击与防御全指南
服务器·开发语言·前端·javascript
qq_12498707531 小时前
基于Java的心理测试系统的设计与实现(源码+论文+部署+安装)
java·开发语言·vue.js·spring boot·计算机毕设·计算机毕业设计
写代码的【黑咖啡】2 小时前
Python中的Statsmodels:统计建模与假设检验
开发语言·python