#文字列型
コンピューターで扱われる言葉が人間に理解できるように文字として並べたものを**「文字列」と呼びます。GO言語における文字列の正式なデータ型は、string型です。string型の値(文字列値)を作成するには「””」ダブルクォーテーションで文字の並びを囲みます。Println関数やPrintf関数により出力されているのがこの文字列値**です。
package main
import "fmt"
func main() {
normalString := "はじめまして!"
emptyString := ""
emptyString += "宜しくお願い致します!"
fmt.Println(normalString)
fmt.Println(emptyString)
}
###・実行結果
はじめまして!
宜しくお願い致します!
上記の場合、従来var normalString string = "はじめまして!"
が省略されて記述されています。
Println関数のように、fmtパッケージ関数には文字列の中に埋め込め
て表示形式を指定できる
機能を持ったPrintf関数があります。printf関数をしようして変数aの値が少数のとき、少数第2まで表示させてみます。
fmt.Printf("%.2f",a)
「””」ダブルクォーテーション内の%.2f
は表示形式が指定されています。%から始まり、少数点「.」とその後の桁数「2」そしてそれを指定する「f」に分けられ「,」カンマで区切られ、表示したい内容「a」がfmt.Printf
後の ( )カッコ内に記述されています。
fmt.Printf("aの値は%.2fです",a)
文字列の中に埋め込めるというのは「””」ダブルクォーテーションの中に他の文字を置くことができることを意味します。
package main
import "fmt"
func main() {
a := 4.2
b := 6.4
fmt.Printf("a+b=%.2f", a+b)
fmt.Printf("a+b=%.2f", a-b)
fmt.Printf("a+b=%.2f", a*b)
fmt.Printf("a+b=%.4f", a/b)
}
###・実行結果
a+b=10.60a-b=-2.20a*b=26.88a/b=0.6562
上記の実行結果は除算を少数第4位まで表示させました。結果がくっついて見づらいため出力結果の文字列に改行の指示を行わせる「\n」を含めるとします。この「\」(円マークまたはバックスラッシュ)をエスケープ記号と呼び、非常に多くの種類があります。例えば、「\n」は改行、「\t」はタブ、「\s」はスペース、「\b」はバックスペース、「\0」は終端文字、を意味します。「\」はエスケープ記号ではなく、文字列として「\」を出力します。「'」はシングルクォーテーションと「"」はダブルクォーテーションは文字列の始まりと終わりを示す記号でなく、文字列として「'」「"」を出力します。 では、改行を加えて書き換えてみます。
package main
import "fmt"
func main() {
a := 4.2
b := 6.4
fmt.Printf("a+b=%.2f\n", a+b)
fmt.Printf("a+b=%.2f\n", a-b)
fmt.Printf("a+b=%.2f\n", a*b)
fmt.Printf("a+b=%.4f\n", a/b)
}
###・実行結果
a+b=10.60
a-b=-2.20
a*b=26.88
a/b=0.6562