From 5c9d0e396e820e08817fefef17637d2c243eb33b Mon Sep 17 00:00:00 2001 From: zyfx Date: Wed, 31 Jul 2024 10:16:03 +0800 Subject: [PATCH] Update condition.go (#234) --- condition/condition.go | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/condition/condition.go b/condition/condition.go index e2a76c3..df5ae43 100644 --- a/condition/condition.go +++ b/condition/condition.go @@ -49,9 +49,7 @@ func Or[T, U any](a T, b U) bool { // Xor returns true if a or b but not both is truthy. // Play: https://go.dev/play/p/gObZrW7ZbG8 func Xor[T, U any](a T, b U) bool { - valA := Bool(a) - valB := Bool(b) - return (valA || valB) && valA != valB + return Bool(a) != Bool(b) } // Nor returns true if neither a nor b is truthy. @@ -63,9 +61,7 @@ func Nor[T, U any](a T, b U) bool { // Xnor returns true if both a and b or neither a nor b are truthy. // Play: https://go.dev/play/p/OuDB9g51643 func Xnor[T, U any](a T, b U) bool { - valA := Bool(a) - valB := Bool(b) - return (valA && valB) || (!valA && !valB) + return Bool(a) == Bool(b) } // Nand returns false if both a and b are truthy.