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

打印效果:

相关推荐
zzzyyy53814 小时前
STL简介
开发语言·c++
艾莉丝努力练剑14 小时前
【C++:继承】C++面向对象继承全面解析:派生类构造、多继承、菱形虚拟继承与设计模式实践
linux·开发语言·c++·人工智能·stl·1024程序员节
报错小能手14 小时前
项目——基于C/S架构的预约系统平台(3)
linux·开发语言·笔记·学习·架构·1024程序员节
lsx20240614 小时前
jQuery Mobile 实例
开发语言
AI量化投资实验室14 小时前
年化591%,回撤仅7%的策略,支持订阅信号|基于AgentScope开发金融多智能体,附python代码
开发语言·python·金融
兮兮能吃能睡14 小时前
R语言众数函数分析
开发语言·r语言
Wind哥14 小时前
设计模式23种-C++实现
开发语言·c++·windows·设计模式
练习时长一年15 小时前
jdk动态代理实现
java·开发语言
moringlightyn15 小时前
c++ 智能指针
开发语言·c++·笔记·c++11·指针·智能指针
j_xxx404_15 小时前
C++ STL简介:从原理到入门使用指南
开发语言·c++