☑️

【Golang】マッチした文字列とboolを返す関数

2023/03/19に公開

概要

string の slice が渡された時、その中に同じ単語があるかチェックする関数を作りました。

背景

忘備録として。

Example

str1 := []string{"first", "second", "third"}
str1 := []string{"first", "second", "third", "first"}

duplicatedStr1, ok := isContainsDuplicate(str1)
// duplicatedStr -> ""
// ok -> false

duplicatedStr2, ok := isContainsDuplicate(str2)
// duplicatedStr -> "first"
// ok -> true

コード

func isContainsDuplicate(strSlice []string) (string, bool) {
	encountered := map[string]bool{}

	for _, str := range strSlice {
		if encountered[str] {
			return str, true
		} else {
			encountered[str] = true
		}
	}

	return "", false
}

Discussion