A Tour of Go をやる! – その14 「Type conversions」 1は1.0になれる! 【Go言語/A Tour of Go】

2018年10月1日Go言語のお勉強A Tour of Go,Goのお勉強,Go言語,,型変換,変数Go言語のお勉強,Goのお勉強,Go言語,,型変換,変数

記事ヘッダー_Type_conversions

「A Tour of Go をやる!」シリーズの第14回目。
今回も変数…というか、型変換な話です。

今回進めるページ「Type conversions」

今回進める「A Tour of Go」のページはこちら。

タイトルの「Type conversions」とは?

Type (型)の conversions (変換) ですな。
ここでいう Type は int や string などを指す データ型(Data type)のこと。

言語仕様の確認

続いて言語仕様をチェック。
下記は型変換の仕様が説明されている「Conversions」から引用。

A conversion changes the type of an expression to the type specified by the conversion. A conversion may appear literally in the source, or it may be implied by the context in which an expression appears.

An explicit conversion is an expression of the form T(x) where T is a type and x is an expression that can be converted to type T.

変換により、式のタイプが変換で指定されたタイプに変更されます。変換は、文字通りソースに表示される場合もあれば、式が表示されるコンテキストによって暗示される場合もあります。

明示的な変換は、T(x)形式の式です。ここで、Tは型であり、xは型Tに変換できる式です。(by Google Translated.)

https://golang.org/ref/spec#Conversions
Conversion = Type "(" Expression [ "," ] ")" .

型変換の基本として T(x) な形で型変換が出来るらしい。
ちなみに T は 型 のことで x は 式 のこと指すと書いてある。

型変換の構文

型変換の構文 T(x) を詳しく見てみる。

// 構文 T(x)
[型] ( 式 )

// e.g.
var zorome int = 666           // zorome を int型 で宣言
var omen uint = uint( zorome ) // T(x) の形で uint型 に変換
                ^^^^^^^^^^^^^^

さて、型変換の基本がわかったところで、今回のサンプルプログラムを眺めます。

異なる型で値の代入を行うと…

怒られる…

サンプルプログラムを見てみる。

「Type conversions」のサンプルプログラムを見てみます。
お題に関係する箇所にはコメント打ってます。

処理の内容は、int型 の変数を基に何度か計算と型変換を行い、最後に各変数の中身を出力している。
型変換は何れも T(x) の構文が使用されている。

さいごに

ということで、型変換を覚えました。
Go言語では暗黙的な型変換といったことができないようですので、コーディングでは常に気を配らないとですね。

まぁ、実際のところは忘れたとしても構文チェックで引っかかるから大丈夫さぁ…_(:3」∠)_タブンナ

ではまた次回~٩( 'ω’ )و

Go言語のお勉強 記事一覧

  1. うっしー「Go」に手を出す…
  2. 「A Tour of Go」をやる! シリーズ
    1. その1 「Hello, 世界」
    2. その2 「Packages」だってさ~
    3. その3 「Imports」いんぽーっ!
    4. その4 「Exported names」見えますか?
    5. その5 「Functions」 これは機能です。
    6. その6 「Functions continued」(?) 型しょ~略っ!
    7. その7 「Multiple results」 一粒で二度美味しい?
    8. その8 「Named return values」 お前は戻り値だ…
    9. その9 「Variables」入れ物!
    10. その10 「Variables with initializers」砂でも詰めるか…
    11. その11 「Short variable declarations」 略パート2!
    12. その12 「Basic types」 型抜きってあったな…
    13. その13 「Zero values」 生まれ持った中身は?
    14. その14 「Type conversions」 1は1.0になれる!

「A Tour of Go」記事は現在書き直し中…。_(┐「ε:)_
サボったりサボったり…で尻切れシリーズになっていましたが、最近続きを書く気になりました。が、これまでの記事を改めて見返すと記事のデータ・フォーマットが古く、この際だからと最初の記事から書き直しております。