当前位置: 首页 > 面试题库 >

如何比较Go错误

左康安
2023-03-14
问题内容

我有一个错误值,当在控制台上打印时会给我 Token is expired

如何将其与特定的错误值进行比较?我试过了,但是没有用:

if err == errors.New("Token is expired") {
      log.Printf("Unauthorised: %s\n", err)
}

问题答案:

尝试

err.Error() == "Token is expired"

或通过实现错误接口来创建自己的错误。



 类似资料:
  • 问题内容: http://golang.org/ref/spec#Comparison_operators Go支持字符串比较,没有任何特殊功能。Go运行时是否在后台进行工作以比较字符串文字? 问题答案: 如下面的程序集转储所示,在进行短路检查以查看两个操作数是否为相同的内存字符串(第11行)之后,将字符串比较从运行时委托给函数(第17行): 除非您在编译器或运行时上工作,否则不要太在意您:只需使

  • 问题内容: 比较运算符的 “ Go编程语言规范”部分使我相信,仅包含可比较字段的结构应具有可比性: 如果结构的所有字段都是可比较的,则它们的值是可比较的。如果两个结构值对应的非空白字段相等,则它们相等。 这样,由于“ Student”结构中的所有字段都是可比较的,因此我希望编译以下代码: 但是,它无法使用以下消息进行编译: 无效的操作:alice> = carol(运算符> =未在结构上定义) 我

  • 问题内容: 例如,我有要比较的功能列表: http://play.golang.org/p/_rCys6rynf 如果两个函数相同,比较的正确方法是什么? 问题答案: 在继续之前:您应该重构而不是比较函数值地址。 规格:比较运算符: 切片,贴图和函数值不可比较。但是,在特殊情况下,可以将切片,映射或函数值与预先声明的标识符进行比较。 函数值不可比。如果功能值的地址相同(不是保存功能值的变量的地址,

  • 问题内容: 我正在尝试使用Java8按名称对员工进行排序,然后按年龄进行排序,我在下面创建了该代码,但它给了我一个编译器错误 但是如果我明确指定类型,它就可以工作 或通过创建两个s和链 我已经在左侧指定了类型,但是为什么自动类型推断没有找到正确的类型并期望明确指定。 有人可以澄清吗? 这是代码 输出 问题答案: Java需要知道所有变量的类型。在许多lambda中,它可以推断类型,但是在您的第一个

  • 我想比较sha256的输出。Sum256(),它是带[]字节的[32]字节。 我得到一个错误不匹配类型[32]字节和[]字节。我无法将[]字节转换为[32]字节。 有办法做到这一点吗?

  • 我正在尝试使用Java8按姓名和年龄对员工列表进行排序,我在下面创建了,但它给我一个编译器错误