見出し画像

golang format fmtパッケージの使い方

今回はgolangのfmtパッケージについて解説していきます。

fmtパッケージ

Go言語のfmtパッケージは、フォーマットされた標準入出力関数がまとめられたパッケージです。
主に利用される関数としては以下の3つがあります。

fmt.Print(): 引数を標準出力に出力します。
fmt.Printf(): フォーマットを指定して標準出力に出力します。
fmt.Println(): 引数を標準出力に出力し、最後に改行を追加します。

他にも指定されたファイルやバッファなどに出力することができる、fmt.Fprint()、 fmt.Fprintf(),、fmt.Fprintln()という関数や、文字列としてフォーマットし、その結果を返すfmt.Sprint()、 fmt.Sprintf()、 fmt.Sprintln()や標準入力からデータを読み取るfmt.Scan()、fmt.Scanf()、fmt.Scanln()等の関数があります。


fmtパッケージの使い方

package main

import "fmt"

func main() {
    fmt.Print("Hello, ")
    fmt.Println("world!")

    name := "Alice"
    age := 25
    fmt.Printf("%s is %d years old.\n", name, age)

    fmt.Fprintf(os.Stdout, "An error occurred: %v\n", "エラー内容")

    var input string
    fmt.Print("Enter your name: ")
    fmt.Scanln(&input)
}

fmt.Printは引数に指定された文字列を標準出力に出力するため、"Hello, "を出力しています。
fmt.Printlnは出力の最後に改行を追加するため、"world!"の後に改行が追加されて出力されます。
fmt.Printfはフォーマット指定子を使って変数を文字列に埋め込みます。%sが最初の変数name(文字列)に、%dが次の変数age(整数)に対応してて、最後に改行文字の\nのため、"Alice is 25 years old."の後に改行が追加されて出力されます。

fmt.Fprintf:は指定したライターにフォーマットされた文字列を出力します。%vは任意の値のデフォルトフォーマットで、ここでは文字列"エラー内容"が使用されています。

fmt.Scanlnはユーザー入力を待ち、入力された値を変数に格納します。
上記コードではinput変数に格納するため、&inputを使用しています。よってfmt.Scanlnは改行が押されるまで入力を待ちます。


golangをもっと詳しくなりたい方に

初めてのGo言語

Go言語の入門から応用まではこの一冊で網羅されています。説明も順序立てて説明されており完成度の高い参考書となっています。


詳解Go言語Webアプリケーション開発

こちらはGo言語の基礎知識を得たあとに読むことをすすめる本となっています。ハンズオン形式で手を動かしながら実装をしていくことができるため、実際の開発を意識しながらGo言語を学ぶことができます。

以下の記事では他にも筆者が実際に読んでおすすめしたい本をまとめています。


【Go入門】Golang基礎入門 + 各種ライブラリ + 簡単なTodoWebアプリケーション開発(Go言語)

まだGo言語の勉強を始めていない方、全くの初心者の方にはこちらのUdemy教材が最もおすすめです。

この教材ではgolangの基礎について網羅的に学ぶことができます。ただ見て学ぶだけでなく、講座の中でアプリ作成まで行うことで学んだことの理解をさらに深めることができます。


現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発

個人的に最も勉強になったのは「現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発」という教材です。
本格的なレクチャーに入る前に、なぜGoなのか、なぜFintechなのかについて説明されていることで、Goの概念や意味について大枠から理解することができます。

以下の記事では筆者が実際に受講したおすすめUdemy教材をまとめています。

※本ページではアフィリエイトリンク(PR)が含まれています


この記事が参加している募集

この経験に学べ

この記事が気に入ったらサポートをしてみませんか?