From: hopehook Date: Wed, 30 Mar 2022 07:47:57 +0000 (+0800) Subject: strings: document the use of simple case-folding in EqualFold X-Git-Tag: go1.19beta1~797 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f8e70fc9a6d2a88d51d36208e64b12a236fce1b1;p=gostls13.git strings: document the use of simple case-folding in EqualFold Fixes #52022 Change-Id: I077fc062dfd02f79eb83713490efbe0bdc783d8b Reviewed-on: https://go-review.googlesource.com/c/go/+/396616 Reviewed-by: Ian Lance Taylor Run-TryBot: Ian Lance Taylor Auto-Submit: Ian Lance Taylor TryBot-Result: Gopher Robot Reviewed-by: Emmanuel Odeke --- diff --git a/src/strings/example_test.go b/src/strings/example_test.go index 94aa167f90..2a59512ceb 100644 --- a/src/strings/example_test.go +++ b/src/strings/example_test.go @@ -95,7 +95,12 @@ func ExampleCut() { func ExampleEqualFold() { fmt.Println(strings.EqualFold("Go", "go")) - // Output: true + fmt.Println(strings.EqualFold("AB", "ab")) // true because comparison uses simple case-folding + fmt.Println(strings.EqualFold("ß", "ss")) // false because comparison does not use full case-folding + // Output: + // true + // true + // false } func ExampleFields() { diff --git a/src/strings/strings.go b/src/strings/strings.go index ed3184b59c..74e505338e 100644 --- a/src/strings/strings.go +++ b/src/strings/strings.go @@ -1041,8 +1041,10 @@ func ReplaceAll(s, old, new string) string { } // EqualFold reports whether s and t, interpreted as UTF-8 strings, -// are equal under Unicode case-folding, which is a more general +// are equal under simple Unicode case-folding, which is a more general // form of case-insensitivity. +// +// EqualFold(s, t) is equivalent to Tolower(s) == Tolower(t). func EqualFold(s, t string) bool { for s != "" && t != "" { // Extract first rune from each string.