当我在GO中编写函数时,它应该返回一个值和如下所示的错误

func createHashedPassword(password string) string, error {
    //code
}

我要在goroutine中执行此createHashedPassword,并且我想通过通道传递数据.
但我的问题是,我该如何处理这里或Goroutine中的错误?

推荐答案

将多个输出Bundle 到一个 struct 中,并通过单个通道将它们一起返回是很常见的.

type Result struct {
    Message string
    Error error
}

ch := make(chan Result)

Go相关问答推荐

Golang regexpp:获取带有右括号的单词

Golang ==错误:OCI运行时创建失败:无法启动容器进程:exec:./" bin:stat./" bin:没有这样的文件或目录:未知

Go Fiber和HTMX—HX—Trigger header被更改为HX—Trigger,这不是HTMX监听的内容

Term~T中的类型不能是类型参数,但可以是引用类型参数的切片

Golang测试容器,无法使网络正常工作

带有条件的for循环中缺少RETURN语句

如何使用中间件更改http请求的响应代码?

无效操作:v > max(类型参数 T 与 > 不可比较)

此 Golang 程序中的同步问题

如何从 Go 中的 `HijackedResponse` 中删除 Cursor Position ANSI 转义码?

无法将 graphql-ws 连接到 gqlgen

在 .go 文件中运行一个函数和在 Go 模板中调用它有什么区别?

Golang:如何判断通过缓冲通道进行通信时生产者或消费者是否较慢?

在恒等函数中将类型 T 转换为类型 U

Golang泛型在用作 map 元素时不起作用

如何使用 math/big 对 bigInt 进行取模?

Scanner.Buffer - 最大值对自定义拆分没有影响?

在 VSCode 中使用命令行参数调试 Go 测试

我应该明确地创建一个与Belongs To或Has Many对称的关系吗?

在 Go 中表达函数的更好方法( struct 方法)