HOWTO · Go

Go での文字列補間

GoLang には、簡潔かつ読みやすく文字列リテラルにデータを挿入するための多くのメソッドがあります。

Go には、変数の値を文字列内のプレースホルダーに置き換える多くの文字列補間メソッドがあります。

Go の指定子

指定子 説明
%s 文字列を印刷する
%d 整数を出力する
%v 定義された構造体のすべての要素の値を出力します
%+v 構造体で指定されたすべての要素の名前と値を出力します

fmt.Sprintf() メソッドを使用する

package main

import (
	"fmt"
	"io"
	"os"
)

func main() {

	const string, val = "Hello,", "GoLang is Fun"

	output := fmt.Sprintf("%s World! %s.\n", string, val)

	io.WriteString(os.Stdout, output)

}

出力:

Hello, World! GoLang is Fun.

この方法を使用するには、fmt パッケージをインポートする必要があることに注意してください。

Go 指定子テーブルを使用する

package main
import "fmt"
func main() {
    string := "Go language was designed at %s in %d."

    place := "Google"

    year := 2007

    output := fmt.Sprintf(string, place, year)

    fmt.Println(output)
}

出力:

Go language was designed at Google in 2007.

上記のコード スニペットは、補間式を含む文字列リテラルを表示します。

fmt.Printf() メソッドを使用する

package main

import "fmt"

func square(i int) int {

  return i*i

}

func main() {

fmt.Printf("Square of 2 is %v\n", square(2))
}

出力:

Square of 2 is 4

上記のコードでは、出力行コマンドで文字列を直接補間しています。