ماذا يطبع البرنامج التالي؟
package main
var x, y = true, false
func o(b bool) bool {
print(b)
return !b
}
func main() {
_ = x || o(x)
_ = y && o(y)
}
الخيارات:
- true
- false
- truefalse
- (لا يطبع شيئًا)
الإجابة: (لا يطبع شيئًا)
شغِّله على Go play.
النقاط الأساسية:
- عند تقييم
a || b، يُقيَّم التعبيرaأولًا، ولن يُقيَّم التعبيرbإلا إذا قُيِّمaعلى أنهfalse. - عند تقييم
a && b، يُقيَّم التعبيرaأولًا، ولن يُقيَّم التعبيرbإلا إذا قُيِّمaعلى أنهtrue.