_string_は、定数または変数のいずれかになる1つ以上の文字(文字、数字、記号)のシーケンスです。 Unicodeで構成された文字列は不変のシーケンスであり、変化しないことを意味します。

テキストは日常生活で使用するデータの一般的な形式であるため、文字列データ型はプログラミングの非常に重要な構成要素です。

このGoチュートリアルでは、文字列を作成および印刷する方法、文字列を連結および複製する方法、変数に文字列を保存する方法について説明します。

文字列リテラル

Goでは、文字列はバッククォート + \ + (バックティックと呼ばれることもあります)またはダブルクォート + “+`内に存在します。 使用する引用符に応じて、文字列の特性は異なります。

+ \ + + bar + + \ `+`のように逆引用符を使用すると、_raw_文字列リテラルが作成されます。 生の文字列リテラルでは、逆引用符を除き、引用符の間に任意の文字が表示される場合があります。 生の文字列リテラルの例を次に示します。

`Say "hello" to Go!`

バックスラッシュは、生の文字列リテラル内では特別な意味を持ちません。 たとえば、「+ \ n 」は実際の文字、バックスラッシュ「 \ 」、および文字「 n 」として表示されます。 解釈された文字列リテラルとは異なり、 ` \ n +`は実際の改行を挿入します。

生の文字列リテラルを使用して、複数行の文字列を作成することもできます。

`Go is expressive, concise, clean, and efficient.
Its concurrency mechanisms make it easy to write programs
that get the most out of multi-core and networked machines,
while its novel type system enables flexible and modular
program construction. Go compiles quickly to machine code
yet has the convenience of garbage collection and the power
of run-time reflection. It's a fast, statically typed,
compiled language that feels like a dynamically typed,
interpreted language.`

解釈された文字列リテラルは、 `” bar “`のように、二重引用符で囲まれた文字シーケンスです。 引用符内では、改行およびエスケープされていない二重引用符を除き、任意の文字が表示される場合があります。

"Say \"hello\" to Go!"

ほとんどの場合、解釈された文字列リテラルを使用します。これは、その中にエスケープ文字を許可するためです。

Goで文字列がどのようにフォーマットされるか理解できたので、プログラムで文字列を印刷する方法を見てみましょう。

文字列を印刷する

システムライブラリの `+ fmt `パッケージを使用して、 ` Println()+`関数を呼び出すことで、文字列を出力できます。

fmt.Println("Let's print out this string.")
OutputLet's print out this string.

システムパッケージを使用する場合は、システムパッケージを `+ import +`する必要があるため、文字列を出力する簡単なプログラムは次のようになります。

package main

import "fmt"

func main() {
   fmt.Println("Let's print out this string.")
}

文字列連結

_Concatenation_は、文字列をエンドツーエンドで結合して新しい文字列を作成することを意味します。 “演算子で文字列を連結できます。 数字を扱う場合、「」は加算の演算子になりますが、文字列を使用する場合は結合演算子になることに注意してください。

文字列リテラル `” Sammy “`と `” Shark “`を結合して、 `+ fmt.Println()+`ステートメントで連結します。

fmt.Println("Sammy" + "Shark")
OutputSammyShark

2つの文字列の間に空白が必要な場合は、文字列内に空白を含めることができます。 この例では、 `+ Sammy +`の後の引用符内に空白を追加します。

fmt.Println("Sammy " + "Shark")
OutputSammy Shark

`+`演算子は、2つの異なるデータ型の間では使用できません。 例として、文字列と整数を連結することはできません。 次の記述を試みる場合:

fmt.Println("Sammy" + 27)

次のエラーが表示されます。

Outputcannot convert "Sammy" (type untyped string) to type int
invalid operation: "Sammy" + 27 (mismatched types string and int)

文字列 " Sammy27 "+`を作成したい場合は、数値 `+ 27 +`を引用符( `+" 27 ")で囲んで、整数ではなく、代わりになります。文字列。 連結のために数字を文字列に変換することは、郵便番号や電話番号を扱うときに役立ちます。 たとえば、国番号と市外局番の間で加算を実行したくないが、それらを一緒にしたい場合。

連結によって2つ以上の文字列を結合すると、プログラム全体で使用できる新しい文字列が作成されます。

変数への文字列の保存

  • https://www.digitalocean.com/community/tutorials/how-to-use-variables-in-go [変数] *は、プログラムにデータを保存するために使用できる記号です。 それらは、いくつかのデータまたは値で満たされた空のボックスと考えることができます。 文字列はデータなので、それらを使用して変数を埋めることができます。 文字列を変数として宣言すると、Goプログラム全体で文字列を操作しやすくなります。

変数内に文字列を保存するには、変数を文字列に割り当てるだけです。 この場合、変数として `+ s +`を宣言します:

s := "Sammy likes declaring strings."

変数 `+ s +`がその特定の文字列に設定されたので、次のように変数を印刷できます。

fmt.Println(s)

その後、次の出力が表示されます。

OutputSammy likes declaring strings.

変数を使用して文字列を表すことにより、使用するたびに文字列を再入力する必要がなくなり、プログラム内で文字列をより簡単に操作および操作できるようになります。

結論

このチュートリアルでは、Goプログラミング言語で文字列データ型を操作する基本について説明しました。 文字列の作成と印刷、文字列の連結と複製、および変数への文字列の保存は、Goプログラムで文字列を使用するための基本を提供します。