From c82ee79247e8e82a0699963e5b07ca7db8de5d51 Mon Sep 17 00:00:00 2001 From: Gabriel Aszalos Date: Mon, 25 Sep 2017 14:54:37 +0200 Subject: [PATCH] strings: improve readability of IndexAny and LastIndexAny functions. This change removes the check of len(chars) > 0 inside the Index and IndexAny functions which was redundant. Change-Id: Iffbc0f2b3332c6e31c7514b5f644b6fe7bdcfe0d Reviewed-on: https://go-review.googlesource.com/65910 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Joe Tsai --- src/strings/strings.go | 52 +++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/src/strings/strings.go b/src/strings/strings.go index caabc5affd..a7941fbb90 100644 --- a/src/strings/strings.go +++ b/src/strings/strings.go @@ -166,22 +166,20 @@ func IndexRune(s string, r rune) int { // IndexAny returns the index of the first instance of any Unicode code point // from chars in s, or -1 if no Unicode code point from chars is present in s. func IndexAny(s, chars string) int { - if len(chars) > 0 { - if len(s) > 8 { - if as, isASCII := makeASCIISet(chars); isASCII { - for i := 0; i < len(s); i++ { - if as.contains(s[i]) { - return i - } + if len(s) > 8 { + if as, isASCII := makeASCIISet(chars); isASCII { + for i := 0; i < len(s); i++ { + if as.contains(s[i]) { + return i } - return -1 } + return -1 } - for i, c := range s { - for _, m := range chars { - if c == m { - return i - } + } + for i, c := range s { + for _, m := range chars { + if c == m { + return i } } } @@ -192,24 +190,22 @@ func IndexAny(s, chars string) int { // point from chars in s, or -1 if no Unicode code point from chars is // present in s. func LastIndexAny(s, chars string) int { - if len(chars) > 0 { - if len(s) > 8 { - if as, isASCII := makeASCIISet(chars); isASCII { - for i := len(s) - 1; i >= 0; i-- { - if as.contains(s[i]) { - return i - } + if len(s) > 8 { + if as, isASCII := makeASCIISet(chars); isASCII { + for i := len(s) - 1; i >= 0; i-- { + if as.contains(s[i]) { + return i } - return -1 } + return -1 } - for i := len(s); i > 0; { - r, size := utf8.DecodeLastRuneInString(s[:i]) - i -= size - for _, c := range chars { - if r == c { - return i - } + } + for i := len(s); i > 0; { + r, size := utf8.DecodeLastRuneInString(s[:i]) + i -= size + for _, c := range chars { + if r == c { + return i } } } -- 2.48.1