Go言語入門 / golang 入門 文字列操作

f:id:nasust:20161122141513p:plain The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/) CC3.0

こんにちはnasustです。
今回は文字列操作について解説します。

文字列とは

Go言語 / golangの文字列は、バッククォート またはダブルクォート " に囲まれた文字シーケンスです。 バッククォート と ダブルクォート “ の違いは以下の通りです。

バッククォート ` : バッククォート以外の文字列を記述することができます。バッククォート内で何も解釈されません。\r\nなど、そのままの文字列として扱われます。改行コードを含めることが出来ます。

ダブルクォート “ : \r\nなどのエスケープを解釈します。8進数\nnn、16進数\xnnの文字のエスケープしたバイトを記述することが出来ます。

str := "abcdefg"

ソースコードで上記のう様に記述した場合は、string型の変数に文字列が格納されます。string型はbyteのスライスのように振る舞いますが不変です。文字列の長さはlen関数で調べることができます。注意なのはbyte数なので文字数を調べる場合は、utf8パッケージのRuneCountInStringを使用します。

文字列の結合

strA := "abcd"
strB := "efgh"

strAB := strA + strB

または

var strAB string

strA := "abcd"
strB := "efgh"

strAB += strA
strAB += strB

+または+=で文字列の結合できます。しかし注意点なのはstring型は不変で固定長です。演算子を使用した結合では、結合毎に新しいstring型を作っているので負荷が掛かります。結合を沢山行う場合はbyteのスライスで行った方がパフォーマンスは良いです。

Goの文字列結合のパフォーマンス - Qiita

文字列の操作

文字列操作を行うにはstringsパッケージを使用します。 このパッケージでは、比較やSplitなど操作できる関数があります。

strings - The Go Programming Language


Go言語 / golang 入門 目次に戻る

広告を非表示にする