Skip to Content

入門Goプログラミング Lesson10(型変換)から学んだこと

型変換

文字列の結合

+で結合

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
package main

import (
	"fmt"
)

func main() {
	city := "網走" + "市"
	fmt.Printf("%T型 %[1]v\n", city)
}

実行結果

string型 網走市

数値型の変換

float64()浮動小数点型に変換
int()整数型に変換
memo*
浮動小数点型から整数に変換すると小数点以下が切り捨て

1
2
3
4
5
6
func main() {
	pi := 3.141592
	pi2 := int(pi)
	fmt.Printf("%T型 %[1]v\n", pi)
	fmt.Printf("%T型 %[1]v\n", pi2)
}

実行結果

float64型 3.141592
int型 3 // 切り捨てられた

文字型の変換

strconb.Itoa()文字列に変換
strconbパッケージのAtoi関数(ASCII to integer)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
package main

import (
	"fmt"
	"strconv"
)

func main() {
	northLatitude := 44
	fmt.Println("網走市は北緯" + strconv.Itoa(northLatitude) + "度")
}

実行結果

網走市は北緯44度

bool値の変換

bool値を数値型や、文字型に変換したい時はifがベスト

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
package main

import (
	"fmt"
)

func main() {
	genseiBokujyo := true
	fmt.Printf("%T型 %[1]v\n", genseiBokujyo)

	var yesNo string
	if genseiBokujyo {
		yesNo = "true"
	} else {
		yesNo = "false"
	}
	fmt.Printf("%T型 %[1]v", yesNo)
}

実行結果

bool型 true
string型 true

感想

変換はよく使うことになるだろう

参考

なし