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

打印效果:

相关推荐
ShineWinsu12 分钟前
对于C++:模版进阶的解析
开发语言·c++·面试·笔试·求职·进阶·模版
啊哈哈1213844 分钟前
Python基本语法复盘笔记1(输入输出/字符串/列表)
开发语言·笔记·python
qq_150841991 小时前
3天基于VS2026的C#编程入门及动态调用CH341DLLA64读写I2C从机
开发语言·c#
Tony Bai2 小时前
Go 1.26 :go mod init 默认行为的变化与 Go 版本管理的哲学思辨
开发语言·后端·golang
xyq20242 小时前
WebForms SortedList 深度解析
开发语言
Hx_Ma162 小时前
测试题(三)
java·开发语言·后端
CHANG_THE_WORLD3 小时前
深入理解C语言指针:从源码到汇编的彻底剖析
c语言·开发语言·汇编
星火开发设计3 小时前
序列式容器:deque 双端队列的适用场景
java·开发语言·jvm·c++·知识
码农葫芦侠3 小时前
Rust学习教程2:基本语法
开发语言·学习·rust
键盘鼓手苏苏3 小时前
Flutter for OpenHarmony 实战:Envied — 环境变量与私钥安全守护者
开发语言·安全·flutter·华为·rust·harmonyos