Goの文字列パッケージの概要

前書き

Goのhttps://golang.org/pkg/strings/ [+ string +]パッケージには、https://www.digitalocean.com/community/tutorials/an-introduction-to-working- with-strings-in-go [文字列データ型]。 これらの関数を使用すると、文字列を簡単に変更および操作できます。 関数は、コードの要素に対して実行するアクションであると考えることができます。 組み込み関数とは、Goプログラミング言語で定義されており、すぐに使用できる関数です。

このチュートリアルでは、Goで文字列を操作するために使用できるいくつかの異なる関数を確認します。

文字列を大文字と小文字にする

関数 `+ strings.ToUpper `および ` strings.ToLower +`は、元の文字列のすべての文字を大文字または小文字に変換した文字列を返します。 文字列は不変のデータ型なので、返される文字列は新しい文字列になります。 文字列内の文字以外の文字は変更されません。

文字列 `" Sammy Shark "`をすべて大文字に変換するには、 `+ strings.ToUpper +`関数を使用します。

ss := "Sammy Shark"
fmt.Println(strings.ToUpper(ss))
OutputSAMMY SHARK

小文字に変換するには:

fmt.Println(strings.ToLower(ss))
Outputsammy shark

`+ strings +`パッケージを使用しているため、最初にプログラムにインポートする必要があります。 文字列を大文字と小文字に変換するには、プログラム全体は次のようになります。

package main

import (
   "fmt"

)

func main() {
   ss := "Sammy Shark"
   fmt.Println(strings.ToUpper(ss))
   fmt.Println(strings.ToLower(ss))
}

`+ strings.ToUpper `および ` strings.ToLower +`関数は、大文字と小文字を一貫させることで、文字列の評価と比較を容易にします。 たとえば、ユーザーが名前をすべて小文字で記述した場合でも、すべて大文字のバージョンと照合してデータベースに名前が含まれているかどうかを判断できます。

文字列検索関数

`+ strings +`パッケージには、文字列に特定の文字シーケンスが含まれているかどうかを判断するのに役立ついくつかの関数があります。

Function Use

strings.HasPrefix

Searches the string from the beginning

strings.HasSuffix

Searches the string from the end

strings.Contains

Searches anywhere in the string

strings.Count

Counts how many times the string appears

`+ strings.HasPrefix `および ` strings.HasSuffix +`を使用すると、文字列が特定の文字セットで始まるか終了するかを確認できます。

たとえば、文字列 `" Sammy Shark "`が `+ Sammy `で始まり、 ` Shark +`で終わるかどうかを確認するには:

ss := "Sammy Shark"
fmt.Println(strings.HasPrefix(ss, "Sammy"))
fmt.Println(strings.HasSuffix(ss, "Shark"))
Outputtrue
true

`+ strings.Contains `関数を使用して、 `" Sammy Shark "`にシーケンス ` Sh +`が含まれているかどうかを確認します。

fmt.Println(strings.Contains(ss, "Sh"))
Outputtrue

最後に、フレーズ「+ S 」がフレーズ「 Sammy Shark +」に出現する回数を確認します。

fmt.Println(strings.Count(ss, "S"))
Output2

小文字の「+ s 」を使用して「 Sammy Shark 」からカウントを取得することは、大文字の「 S +」を使用することとは異なります。

fmt.Println(strings.Count(ss, "s"))
Output0

「+ S 」は「 s 」とは異なるため、返されるカウントは「+0」になります。

文字列関数は、プログラム内の文字列を比較または検索する場合に役立ちます。

文字列の長さの決定

組み込み関数 `+ len()+`は文字列の文字数を返します。 この関数は、パスワードの最小長または最大長を強制する必要がある場合、または略語として使用するために特定の制限内に収まるように大きな文字列を切り捨てる必要がある場合に役立ちます。

この機能を示すために、文の長さの文字列の長さを見つけます:

import (
   "fmt"
   "strings"
)

func main() {
       openSource := "Sammy contributes to open source."
       fmt.Println(len(openSource))
}
Output33

変数 `+ openSource `を文字列 `" Sammyはオープンソースに貢献します。 "`に設定し、その変数を ` len(openSource)`で ` len()`関数に渡しました。 最後に、関数を ` fmt.Println()+`関数に渡して、プログラムの出力を画面に表示できるようにしました。

`+ len()+`関数は、文字、数字、空白文字、記号を含む二重引用符で区切られた文字をカウントすることに注意してください。

文字列操作のための関数

+ strings.Join、` + string.Split`、および `+ strings.ReplaceAll`関数は、Goで文字列を操作するいくつかの追加方法です。

`+ strings.Join +`関数は、文字列のスライスを新しい単一の文字列に結合するのに便利です。

文字列のスライスからコンマ区切りの文字列を作成するには、次のようにこの関数を使用します。

fmt.Println(strings.Join([]string{"sharks", "crustaceans", "plankton"}, ","))
Outputsharks,crustaceans,plankton

新しい文字列のコンマと文字列値の間にスペースを追加する場合は、カンマの後の空白で式を書き換えることができます: + strings.Join([] string {" sharks "、" crustaceans "、"プランクトン "}、"、 ")+

文字列を結合できるように、文字列を分割することもできます。 これを行うには、 `+ strings.Split +`関数を使用してスペースで分割します。

balloon := "Sammy has a balloon."
s := strings.Split(balloon, " ")
fmt.Println(s)
Output[Sammy has a balloon]

出力は文字列のスライスです。 `+ strings.Println `が使用されたため、出力を見てもわかりません。 それが実際に文字列のスライスであることを確認するには、 ` fmt.Printf `関数と `%q +`動詞を使用して文字列を引用します。

fmt.Printf("%q", s)
Output["Sammy" "has" "a" "balloon."]

+ strings.Fields`の + strings.Split`に加えて、もう1つの便利な関数です。 違いは、 `+ strings.Fields `はすべての空白を無視し、文字列内の実際の ` fields +`のみを分割することです:

data := "  username password     email  date"
fields := strings.Fields(data)
fmt.Printf("%q", fields)
Output["username" "password" "email" "date"]

`+ strings.ReplaceAll +`関数は、元の文字列を受け取り、更新された文字列を何らかの置換で返すことができます。

サミーが持っていた風船がなくなったとしましょう。 Sammyにはこのバルーンがないため、サブストリング `" has "`を元のストリング `+ balloon `から新しいストリングの `" had "+`に変更します。

fmt.Println(strings.ReplaceAll(balloon, "has", "had"))

括弧内の最初の文字列は、元の文字列を格納する変数「+ balloon 」です。 2番目のサブストリング `" has "`は置き換えたいもので、3番目のサブストリング `" had "+`は2番目のサブストリングを置き換えるものです。 これをプログラムに組み込むと、出力は次のようになります。

OutputSammy had a balloon.

文字列関数「+ strings.Join」、「+ string.Split」、および「+ strings.ReplaceAll」を使用すると、Goで文字列を操作するための制御が強化されます。

結論

このチュートリアルでは、Goプログラムで文字列を操作および操作するために使用できる文字列データ型の一般的な文字列パッケージ関数をいくつか紹介しました。

https://www.digitalocean.com/community/tutorials/understanding-data-types-in-go [データ型の理解]で他のデータ型の詳細を確認し、https://www.digitaloceanで文字列の詳細を読むことができます。 .com / community / tutorials / an-introduction-to-working-with-strings-in-go [文字列の操作の概要]。