2016-11-12 9 views
-5

Wie gebe ich eine wahr oder falsch von einer Funktion und dann überprüfen Sie es. Dieser Code gibt einen Fehler zurück: nicht übereinstimmen Typen func() bool und BoolGolang's Bool Typ

func d() bool { 
    var e bool 
    return e 
} 

if d == true { 
    fmt.Printf("true") 
} 

Antwort

1

Sie sind die eigentliche Funktion wahr, nicht die Funktion Ergebnis zu vergleichen, müssen Sie die Funktion aufrufen, z.B.

func d() bool { 
    var e bool 
    return e 
} 

if d() { 
    fmt.Printf("true") 
} 
+0

sehen dies für ein laufendes Beispiel https://play.golang.org/p/hjFjPEu8DE – superfell

+3

wahrscheinlich, dass wie diese gegen eine Bool konstant Vergleich Sollte hinweisen unnötig ist. 'wenn d() {' würde ausreichen. Es sei denn natürlich, Sie wollen wirklich überprüfen, ob es "wahr" ist und nicht nur truthy, aber das ist ein seltener Fall. – Carcigenicate

+0

Carcigenicate, guter Punkt – nathanengineer

Verwandte Themen