Go言語-標準パッケージ


標準パッケージ

プログラミング基本からGoの理解を文字におこして行こうと思います!
Go言語の基本❶はこちら
Go言語の基本❷はこちら

標準パッケージ

Goには標準パッケージと呼ばれるものがあり、100種類以上の便利な機能が
はじめから用意されている
これらを自分たちのプログラム内で自由に用いることができる

fmt        コンソールに出力できる
math/rand  ランダムな数値を生成できる
time       時間に関する処理ができる

パッケージのインポート

package main
import "fmt" //標準パッケージをインポート

インポートは、「package main」の下に「import "パッケージ名"」と記述

パッケージの使い方

package main
import "fmt"
func main() {
  fmt.Println("Hello,Go")
}

//コンソール
Hello,Go

「println」より「fmt.Println」の方が表示できるデータ型が多い

使用していないパッケージ

package main
import "fmt"
func main() {
  Println("Hello,Go") //fmtパッケージを用いていない
}

//コンソール
fmtパッケージを用いていないとエラー

fmtパッケージをインポートしているのに使っていない場合、エラーが発生

fmt.Printf

fmt.Printf(書式,出力に用いる値)

fmtパッケージのPrintf機能を用いると、書式を指定してコンソールに出力できる

書式とは、出力する文字列の形
1つめに書式、2つめに出力に用いる値を指定

文字列の書式

func main() {
  name := "タナベ"
  fmt.Printf("Hello,%sさん", name) //%sには変数nameに入っている文字列が使用
}

//コンソール
Hello,タナベさん

"Hello, %sさん"のように%sを文字列の中に含めると
「fmt.Printf」の2つめに指定した文字列が%sの部分に挿入されて出力される

複数の値を埋め込む

func main() {
  name := "タナベ"
  fmt.Printf("%s, %sさん","Hello", name)
}

//コンソール
Hello,タナベさん

%sを2回用いる場合、それぞれの%sに挿入する文字列を指定する必要がある

整数を埋め込む

func main() {
  age := 26
  fmt.Printf("%d歳です", age)
}

//コンソール
26歳です

書式には、文字列だけでなく数値も挿入することができる
数値の場合には%d

データ型の不一致

func main() {
  age := "26"
  fmt.Printf("%d歳です", age)
}

//コンソール
%!d(string=26)歳です //書式に%dを使用しているためエラー

書式には、文字列だけでなく数値も挿入することができる
数値の場合には%d

PrintfとPrintlnの違い

func main() {
  fmt.Printf("Hello, %sさん", "タナベ")
  fmt.Printf("Hello, %sさん", "ナイトウ")
}

//コンソール
Hello,タナベさん Hello,ナイトウさん

「fmt.Printf」は、「fmt.Println」と違い
出力した文字列のあとで改行を行ってくれない

\n

func main() {
  fmt.Printf("Hello, %sさん \n", "タナベ")
  fmt.Printf("Hello, %sさん \n", "ナイトウ")
}

//コンソール
Hello,タナベさん
Hello,ナイトウさん

文字列中で\nを用いると、出力される文字列が改行

\n(2)

func main() {
  name := "タナベ"
  fmt.Printf("Hello, \n%sさん" name) //文中に\nを含める
}

//コンソール
Hello,
タナベさん

文字列の途中に含めれば、\nの次の文字は、改行されて次の行に出力