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

打印效果:

相关推荐
方也_arkling4 小时前
【Java-Day08】static / final / 枚举
java·开发语言
风吹夏回4 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
Chengbei114 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
llz_1124 小时前
web-第一次课后作业
java·开发语言·idea
小熊Coding4 小时前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
秋94 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
xiaoshuaishuai85 小时前
C# 内存管理与资源泄漏
开发语言·c#
lsx2024065 小时前
SVN 检出操作
开发语言
鹏北海-RemHusband5 小时前
Go 语言进阶笔记 — 面向 JS/TS 前端开发者
笔记·golang
basketball6166 小时前
C++ NULL 和 nullptr 区别 以及 nullptr 的核心实现
java·开发语言·c++