我正在寻找一种条件签入GO,它可以像C++中的assert一样终止程序执行.

推荐答案

正如 comments 者所说,Go does not have assertions.

围棋中另一个类似的 Select 是built-in function panic(...),由一个条件控制:

if condition {
  panic(err)
}

article titled "Defer, Panic, and Recover"也可能是有用的.

Go相关问答推荐

迭代项列表时如何超时并发调用

如何从google.golang.org/grpc/stats包中将golang中不同事件的输出进行组合,以获取func HandlePRC

Go程序在并发Forking 循环中停留在syscall.Wait4

CGO如何转换为文件*类型

使用Golang的Lambda自定义al2运行时,初始化阶段超时

go grpc:无法导入github.com/golang/protobuf/proto(没有所需的模块提供包github.com/gorang/protobuf-proto)

Go 中的sync.Cond 与 Wait 方法

该文件位于模块.内,该模块不包含在您的工作区中

使用goroutines在Golang中验证 struct

Golang 发送Post请求出现400错误

我的神经网络(从头开始)训练,让它离目标更远

如何在 Golang 中打印 2 列表?

在反向 GORM 中创建查询有一个关系

如何在时间范围内规范化数组的元素?

如何在 helm 中将字符串连接到 .AsConfig 的结果?

为什么此代码在运行命令 error="exec: not started" 时出现错误?

Golang BigInt 部门

在 Golang 中获取谷歌云服务帐户的访问令牌?

Dynamodb.ScanInput - 不能使用expr.Names()(类型 map[string]*string)作为类型 map[string]string

如何访问Go 1.18泛型 struct (structs)中的共享字段