2016-07-21 2 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으로 설정할 수 없습니다. 기본값은 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 –

관련 문제