为什么这个 go 代码不使用 goroutine 打印任何内容[重复]

2023-12-14

我一定错过了关于 goroutine 的一些非常基本的东西,但是我环顾四周,我看不出有任何理由为什么这不起作用......

package main

import "fmt"

func main() {
    for i := 0; i < 20; i++ {
        //fmt.Println(i)
        go func(j int) {
            fmt.Println(j + 100)
        }(i)
    }
}

在你的 goroutine 有机会运行之前,你的程序就已经完成了。

这是你的代码等待组:

package main

import (
    "fmt"
    "sync"
)

func main() {
    var wg sync.WaitGroup
    for i := 0; i < 20; i++ {
        wg.Add(1)
        go func(j int) {
            defer wg.Done()
            fmt.Println(j + 100)
        }(i)
    }
    fmt.Println("Waiting...")
    wg.Wait()
    fmt.Println("Done.")
}

https://play.golang.org/p/lmCPU9-qkB

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这个 go 代码不使用 goroutine 打印任何内容[重复] 的相关文章

  • 在 Visual Studio Code 中调试 Go 测试

    在我的 Windows 计算机上 我安装了 Visual Studio Code 要手动运行测试 我进入控制台到项目文件夹并输入 go test main test go 它工作完美 但我遇到一种情况 我需要调试我的测试以了解发生了什么 为
  • select 语句是否保证通道选择的顺序?

    继从这个答案 https stackoverflow com a 25795236 274460 如果一个 goroutine 在两个通道上进行选择 是否保证通道的选择顺序与其发送的顺序相同 我对发送者是单线程的情况特别感兴趣 例如 是否保
  • 如何修复“缺少表的 FROM 子句条目”错误

    我正在尝试根据游戏 ID 获取平台名称 我有如下三个表 我正在尝试加入它们以获得所需的结果 Games Id 1 2 3 4 Game Platforms Id game id platform id 1 1 1 2 1 2 3 3 3
  • 与通道相比,sync.WaitGroup 的优势是什么?

    我正在开发一个并发 Go 库 我偶然发现了 goroutine 之间两种不同的同步模式 其结果相似 等待组 https play golang org p ZYPLlcp16TZ package main import fmt sync t
  • golang无法启动调试,显示未找到框架CoreFoundation

    我使用的是 Macbook pro m1 在数据迁移或更新到 monterey 后 不确定是什么原因导致的 golang 似乎无法调试或 go list 编译 我尝试重新安装 更新 golang 结果是一样的 Go版本 1 17 3 dar
  • 什么时候返回结构体指针是个好主意?

    我正在学习 Go 我对何时使用指针有点困惑 具体来说 当返回一个struct从函数中 什么时候适合返回结构体实例本身 什么时候适合返回指向结构体的指针 示例代码 type Car struct make string model strin
  • GoLang 中的 HTML 部分

    我刚刚开始使用 Go 我想用它创建一个网络应用程序 我现在尝试的是以handlebarsjs 式的方式使用模板 我想将页眉和页脚从主页中取出 以便可以将它们注入到每个网页上 我当前的设置应该是解析主页 页眉和页脚 HTML 文件并缓存它们
  • Go 编译器有窗口化设置选项吗?

    我正在使用 Go 6g 编译 GTK 应用程序 我想知道是否有编译器 链接器选项使其成为 Windows 可执行文件而不是控制台可执行文件 MinGW 有一个 mwindows 选项来实现此目的 目前我必须使用十六进制编辑器手动更改 PE
  • 使用泛型:类型参数 T 不能与 == 进行比较

    我正在操场上玩 Go Generics 尝试编写一些通用数组函数 https gotipplay golang org p vS7f Vxxy2j https gotipplay golang org p vS7f Vxxy2j packa
  • 测试 gRPC 服务

    我想测试用 Go 编写的 gRPC 服务 我使用的示例是 Hello World 服务器示例grpc go 仓库 https github com grpc grpc go blob master examples helloworld g
  • 将中间件与 Golang Gorilla mux 子路由器结合使用

    如何将中间件应用到 Go 中大猩猩工具包 http www gorillatoolkit org 多路复用器子路由器 我有以下代码 router mux NewRouter StrictSlash true apiRouter router
  • json.Unmarshal json字符串到对象是空结果[重复]

    这个问题在这里已经有答案了 我有一个非常简单的程序 如下所示 package main import encoding json fmt type RunCommand struct level string json level call
  • 关于编写惯用的 Golang 的建议

    我正在掌握 Golang 的做事方式 首先是一些示例代码 package main import log os func logIt s string f os OpenFile errors log os O RDWR os O CREA
  • Golang const unsafe.Sizeof

    不明白为什么我可以做到 const OK uint64 0 const OK int unsafe Sizeof uint64 0 但不是这个 const NOK binary Size uint64 0 它的解释在规格 https gol
  • 如何在golang中获得两个切片的交集?

    Go 中有没有有效的方法来获取两个切片的交集 我想避免嵌套 for 循环之类的解决方案slice1 string foo bar hello slice2 string foo bar intersection slice1 slice2
  • 如何在 Go 中获取给定月份的第一个星期一?

    我正在尝试获取给定月份的第一个星期一 我能想到的最好方法是循环前 7 天 然后返回 Weekday Monday 有一个更好的方法吗 通过查看时间的 Weekday 您可以计算出第一个星期一 package main import fmt
  • []interface{}{} 中的双大括号是什么意思

    请注意 这是格式为 的双花括号 而不是嵌套花括号 我也不确定这是空接口问题 切片问题还是结构问题 我猜它至少是其中两个的组合 我正在学习 Golang 并且已经达到了空接口 我发现我需要将空接口声明为 interface 或者例如 inte
  • pq:函数unnest(未知)不是唯一的

    以下代码工作正常 但我想将 array a b c d e 定义为变量 rows err db Query select colname from SELECT date unnest array a b c d e AS colname
  • 如何在Google AppEngine上设置环境变量?

    我正在尝试在谷歌应用程序引擎上设置和使用环境变量 我的 app yaml 文件如下所示 但是 当我使用 os Getenv mytoken 时 我得到一个空字符串 而不是我设置的实际值 是GAE的bug吗 api version go1 h
  • 在 Go 中解析多个 JSON 对象

    可以使用以下方法轻松解析如下对象encoding json包裹 something foo something else bar 我面临的问题是当服务器返回多个字典时 如下所示 something foo something else ba

随机推荐

  • 使用异步任务在 gridview 中加载图像,未正确加载

    我正在尝试在 gridview 异步中加载缩略图 因为其他方式显示时间太长 当我以正常方式进行操作时 它可以很好地显示图像 代码和图像 Utils public static Bitmap getThumbnail Context cont
  • ValueError:未知的 MS 编译器版本 1900

    我正在尝试使用 cygwin mingw 在 Windows 10 上使用 Python 3 5 运行一些代码 准确地说 我使用的是 PyDSTool 模块 我将其称为 dopri 积分器 问题是 我遇到了麻烦distutils无法识别 M
  • 在 WooCommerce 中列出带有订单详细信息的优惠券

    我有一个有 1000 张优惠券的网站 所有优惠券的使用限额均为一张 我使用 Raunuk Gupta 提供的代码直接从 SQL 数据库导出优惠券 WooCommerce 优惠券如何存储在数据库中 是否可以检索使用优惠券的用户的订单元 我想在
  • 查询 Parquet 记录中的嵌套数组

    我正在尝试不同的方法来查询记录数组中的记录并将完整的行显示为输出 我不知道哪个嵌套对象有字符串 pg 但我想查询特定对象 对象是否有 pg 如果 pg 存在 那么我想显示完整的行 如何在嵌套对象上编写 spark sql查询 而不指定对象索
  • Swift 中的不可变/可变集合

    我指的是 Apple 的 Swift 编程指南 以了解用 Swift 语言创建可变 不可变对象 数组 字典 集合 数据 但我无法理解如何在 Swift 中创建不可变集合 我希望看到 Swift 中 Objective C 中的等价物 不可变
  • Boost::signals2 - 使用槽解析对象

    考虑一下 include
  • 具有自定义 VPN 连接的 iOS 应用程序

    我想创建可以使用 PPTP L2TP 或 OpenVPN 连接到 VPN 的应用程序 但我找不到任何有关此的信息 仅在ios 8 SDK中找到有关使用IPSec和IKEv2的信息 如果您想在 ios 8 中以编程方式连接 则只能使用 IPS
  • iPhone Mapkit 将自定义图像和图钉添加到注释中

    我正在尝试将图钉颜色从默认红色更改为自定义图像 但我所做的任何尝试都不起作用 我从这个网站下载了示例代码 http icodeblog com 2009 12 21 introduction to mapkit in iphone os 3
  • 将 UIActivityIndi​​cator 添加到模态视图(ELCimagepicker)

    我已将 ELCimagepicker https github com Fingertips ELCImagePickerController 添加到我的项目中 它运行良好 允许用户为幻灯片选择多个图像 但是 当您单击 保存 时 可能会出现
  • ASP.net AJAX 拖/放?

    我想知道是否有人知道是否有一个预先制定的解决方案 我在 ASP net 网站上有一个列表 我希望用户能够通过拖放对列表进行重新排序 此外 我希望有第二个列表 用户可以将第一个列表中的项目拖到其中 到目前为止 我找到了两个解决方案 重新排序列
  • 构建三元网格,在 Matlab 中评估网格上的函数和等高线图

    我需要评估一个函数 比如说 Fxy 2 x 2 3 y 2 在三元网格 x 范围 0 1 y 范围 0 1 和 1 x y 0 1 上 我无法构建需要评估上述函数的三元网格 另外 一旦评估 我需要在三元等高线图中绘制函数 理想情况下 我需要
  • HTML 敏捷包 - 删除不需要的标签而不删除内容?

    我在这里看到了一些相关的问题 但它们并没有完全讨论我面临的同一问题 我想使用HTML 敏捷包从我的 HTML 中删除不需要的标签 而不会丢失标签内的内容 例如 在我的场景中 我想保留标签 b i and u 对于这样的输入 p my par
  • 如何为 Google App Engine 应用程序编写“app.yaml”文件?

    我注册了一个 Google App Engine 应用程序 并且有以下一些文件 index html tabs css tab js temp py 我应该怎样写app yaml file 您应该将静态文件放入某个目录中 例如staticd
  • 在 NumPy 数组中使用 array.dtype = 分配 dtype 值会产生不明确的结果

    我是编程和 numpy 的新手 在阅读教程并在 jupyter notebook 上进行实验时 我想到按如下方式转换 numpy 数组的 dtype import numpy as np c np random rand 4 10 prin
  • 使用 Prolog 计算多项式的 GCD

    标题已经说明了一切 我正在计算两个多项式的 GCD 有什么办法可以在 Prolog 中完成这个任务吗 如果是这样 什么是好的起点 具体来说 我在如何使用 Prolog 实现多项式除法方面遇到了麻烦 编辑以包括示例输入和输出 输入示例 GCD
  • 将 varchar 转换为十进制棒球平均值

    我上传了一个 CSV 文件 它自动将我的所有列转换为 varchar 我需要将值 22 30 转换为 0 223 alter table badv2018 alter column BB Percent decimal 4 3 但我收到错误
  • 柱形图 Microsoft 图表控件 y 轴的百分比值

    我正在尝试获取柱形图 其中我需要在 y 轴上有百分比值并且应该重新计算和缩放 我看到了一些分配最小值和最大值的建议 chart ChartAreas 0 AxisY Minimum 0 但它不会根据百分比调整列高 任何帮助将不胜感激 以下是
  • Windows“Path”环境变量如何工作?

    当这个问题突然出现在我的脑海中时 我最近将 python 添加到了我的环境变量中 当我在命令提示符中输入 python 时 Windows 似乎知道要运行哪个文件 但是 我将 python 添加到这个名为 Path 的环境变量中 并且从未在
  • Windows Phone 8 从手机库获取拍摄的照片

    我正在互联网上搜索如何在我的应用程序中执行此操作 似乎有很多类似以下的指南 http msdn microsoft com en us library windowsphone develop microsoft xna framework
  • 为什么这个 go 代码不使用 goroutine 打印任何内容[重复]

    这个问题在这里已经有答案了 我一定错过了关于 goroutine 的一些非常基本的东西 但是我环顾四周 我看不出有任何理由为什么这不起作用 package main import fmt func main for i 0 i lt 20