2016-07-21 6 views
-2

私の整数値または浮動小数点値が空であるかどうかを確認しようとしています。しかし型エラーがスローされます。ゴランの空の浮動小数点または整数値を確認してください

が試み:

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

あなたが整数または浮動小数点値をどういう意味ですか?あなたはそれを両方にすることはできません。 – squiguy

+0

整数または浮動小数点数はゼロにすることはできません。デフォルト値は0 – tier1

+0

です。その理由を指定したのは –

答えて

11

整数および浮動小数点のため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) 
    } 
} 
+0

ポインタの例では、逆参照演算子 '*'を使ってポインタが指し示す値を設定することもできます:https://play.golang.org/p/9TrwjUkr4I – Kaedys

+0

それはすてきなトリック@Kaedys –

関連する問題