Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 基本的な型キャスト | データ型
Go入門

book基本的な型キャスト

メニューを表示するにはスワイプしてください

型キャストは、データをあるデータ型から別のデータ型に変換する処理。 ただし、すべてのデータ型間で変換が可能なわけではない点に注意が必要。たとえば、floatintに、またその逆に変換することは可能。しかし、stringintに変換することは意味がなく、不可能。

型変換または型キャストには2種類が存在。そのうちの1つが暗黙的型キャスト。暗黙的型キャストは、Goが安全かつ明確な場合に自動的に型を変換するもの。たとえば、整数値をfloat型の変数に代入すると、自動的にfloatとして扱われる。変換時にデータが失われることがないため(1010.0と同じ):

index.go

index.go

copy
1
var myFloat float32 = 10 // A valid statement

もう一つの型変換の方法は、明示的型変換です。これは、プログラマーがデータや式を明示的にある型から別の型へ変換する場合に発生します。明示的型変換の構文は desiredType(expression) です。例えば次のようになります。

index.go

index.go

copy
12345678
package main import "fmt" func main() { var number1 float32 = 7.9 var number2 int = int(number1) fmt.Println(number2) // Outputs 7 }

上記のプログラムでは、float32 の値を明示的型変換によって int に変換しています。その結果、元の数値の小数部分は切り捨てられ、整数値 7 のみが number2 に格納されます。この場合、数値の小数部分(0.9)という一部のデータが失われることに注意が必要です。しかし、この選択は明示的に行っています。

同様に、runestring に変換することもできます。Runes の章では、Rune の値(数値)を出力するプログラムを紹介しましたが、Rune を文字列に変換することで、その文字として表示することができます。

index.go

index.go

copy
123456789
package main import "fmt" func main() { var char rune = 'a' fmt.Println(char) // Outputs 97 fmt.Println(string(char)) // Outputs 'a' }

しかし、stringrune に変換することはできません。

index.go

index.go

copy
12
var myString string = "A string value" fmt.Println(rune(myString)) // Error: cannot convert myString (variable of type string) to type rune

また、1文字を含む文字列をルーン型に変換することもできない点に注意。

index.go

index.go

copy
1234567
package main import "fmt" func main() { var text string = "a"; fmt.Printf(rune(text)) // Error here }
question mark

次のうち、Goにおける型キャストの正しい構文はどれか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  6

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  6
some-alt