index.htmlを作成し、ターミナルでの実行時に、
出力される変数に代入する内容を指定します。
name := os.Args[1] // ターミナルで実行した時の第2引数を代入
fmt.Println(os.Args[0]) // 実行対象のファイル(第1引数)
fmt.Println(os.Args[1]) // 実行時の第2引数
str := fmt.Sprint(` // 文字列として代入
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
<h1>` + name + `</h1> // 出力変数
</body>
</html>
`)
nf, err := os.Create("index.html") // index.htmlを同階層に作成
if err != nil {
log.Fatal("error creating file, err")
}
defer nf.Close() // 必ず最後に閉じる
io.Copy(nf, strings.NewReader(str)) // 作成したファイルに、strをコピー
コマンドを実行します。
$ go run main.go Michael
index.htmlを表示すると、「Michael」と表示されます。
os.Args[0]は対象ファイルを指し、この例ですとmain.goになります。