From ed8f6b4f1cefd5db712d7dab438ebdda8fc97076 Mon Sep 17 00:00:00 2001 From: zyfx Date: Tue, 30 Jul 2024 10:00:57 +0800 Subject: [PATCH] Update condition.go --- condition/condition.go | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/condition/condition.go b/condition/condition.go index e2a76c35..df5ae43c 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.