【问题标题】:Check empty float or integer value in golang检查golang中的空浮点或整数值
【发布时间】:2016-07-21 18:13:56
【问题描述】:

我正在尝试检查我的整数或浮点值是否为空。但是会抛出类型错误。

试过了:

if foo == nil    
//Error: cannot convert nil to type float32
//all other methods I Tried also throw type errors too

【问题讨论】:

  • 整数或浮点值是什么意思?你不能两者兼得。
  • 整数或浮点数不能为零。默认值为 0
  • 这就是我指定或介于两者之间的原因
  • 嗯。这对我来说是个问题。我应该在 qor github issue 中问这个问题。
  • 谢谢你们的时间

标签: go integer floating


【解决方案1】:

整数和浮点数的 zero values 为 0。nil 不是有效的整数或浮点值。

指向整数或浮点数的指针可以是nil,但不是它的值。

这意味着您要么检查零值:

if foo == 0 {
  // it's a zero value
}

或者你处理指针:

package main

import (
    "fmt"
)

func main() {
    var intPointer *int

    // To set the value use:
    // intValue := 3
    // intPointer = &intValue

    if intPointer == nil {
        fmt.Println("The variable is nil")
    } else {
        fmt.Printf("The variable is set to %v\n", *intPointer)
    }
}

【讨论】:

  • 对于指针示例,或者您可以使用取消引用运算符*play.golang.org/p/9TrwjUkr4I 设置指针指向的值
  • 谢谢@Simone Carletti,是否有 GoLang 手册参考“整数和浮点数的零值为 0。nil 不是有效的整数或浮点值”?
猜你喜欢
  • 1970-01-01
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多