ターミナルからtemplateに出力する内容を指定する【Go】
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になります。