A Tour of Go をやる! – その16 「Constants」 変えられねぇよ? 【Go言語/A Tour of Go】
2018年10月10日GoA Tour of Go,Goのお勉強,Go言語,型,定数Go,A Tour of Go,Goのお勉強,Go言語,型,定数
「A Tour of Go をやる!」シリーズの第16回目。
呆れるほど変数のお題が続いてますが、今回も期待通りの変数…いや定数?
今回進めるページ「Constants」
今回進める「A Tour of Go」のページはこちら。
タイトルの「Constants」とは?
「忠実な」とか「定期的な」などの意味もあるようですが、「不変の」が近いニュアンス。
Go言語で 値が変わらない「不変の」変数 、つまり定数の使い方がお題です。
言語仕様の確認
それじゃ言語仕様。
今回関係しそうな「Constants」の説明と定義について引用しています。
There are boolean constants, rune constants, integer constants, floating-point constants, complex constants, and string constants. Rune, integer, floating-point, and complex constants are collectively called numeric constants.
ブール定数、ルーン定数、整数定数、浮動小数点定数、複素定数、および文字列定数があります。ルーン、整数、浮動小数点、および複素定数は、まとめて数値定数と呼ばれます。(by Google Translated.)
https://golang.org/ref/spec#Constants
A constant declaration binds a list of identifiers (the names of the constants) to the values of a list of constant expressions. The number of identifiers must be equal to the number of expressions, and the nth identifier on the left is bound to the value of the nth expression on the right.
定数宣言は、識別子のリスト(定数の名前)を定数式のリストの値にバインドします。識別子の数は式の数と同じである必要があり、左側のn番目の識別子は右側のn番目の式の値にバインドされます。(by Google Translated.)
https://golang.org/ref/spec#Constant_declarations
ConstDecl = "const" ( ConstSpec | "(" { ConstSpec ";" } ")" ) .
ConstSpec = IdentifierList [ [ Type ] "=" ExpressionList ] .
IdentifierList = identifier { "," identifier } .
ExpressionList = Expression { "," Expression } .
定数として扱える値の種類
「A Tour of Go」で説明されていますが、ざっくり4種類の値が定数として扱えるようです。
- 文字型
- 文字列型
- ブール型
- 数値型
定数宣言の書き方
定数の宣言は「const」キーワードから書き始めるようです。書き方は「const」が付く以外、変数宣言と似たような感じ。
// 定数宣言の書き方
const [変数名] [型] = [値] // 型を指定すれば指定した型
const [変数名] = [値] // 型指定がなければ[値]に即した型
// e.g.
const wish = "大きなイチ○ツをくださいませ。" // string型になる
const size_mm int = 150 // int型
定数の中身は変更できない
まぁ定数ですもの…
:= は使えない
ダメです!使えません!
サンプルプログラムを見てみる。
ほいでは「Constants」のサンプルプログラム。
お題に関係する箇所にはコメント打ってます。
サンプルプログラムの中身は、定数を宣言して内容を出力するだけのプログラム。
さいごに
はい、ということで「Constants」のページは以上で終わり。
内容的には定数の基礎中の基礎な内容でしたし、特に難しいところはなかった感じです。
変数や定数の考え方は他のプログラミング言語でも共通なので、どこかでしっかり頭に入れておくと後々の為になりそうです。
と言った感じで、また次回~٩( 'ω’ )و
「Go言語のお勉強」インデックス
- うっしー「Go言語」に手を出す…(準備編)
- 「A Tour of Go」をやる!
- その1 「Hello, 世界」
- その2 「Packages」だってさ~
- その3 「Imports」いんぽーっ!
- その4 「Exported names」見えますか?
- その5 「Functions」 これは機能です。
- その6 「Functions continued」(?) 型しょ~略っ!
- その7 「Multiple results」 一粒で二度美味しい?
- その8 「Named return values」 お前は戻り値だ…
- その9 「Variables」入れ物!
- その10 「Variables with initializers」砂でも詰めるか…
- その11 「Short variable declarations」 略パート2!
- その12 「Basic types」 型抜きってあったな…
- その13 「Zero values」 生まれ持った中身は?
- その14 「Type conversions」 1は1.0になれる!
- その15 「Type inference」 君の型は…?
- その16 「Constants」 変えられねぇよ?
- その17 「Numeric Constants」 型無し野郎?
- その18 「For」 ~いよいよループ!~
- その19 「For continued」 ~ Forの続き! ~
「A Tour of Go」を題材にした記事は現在書き直し中…。_(:3」∠)_
ほとんどサボりが原因で尻切れとなっていたシリーズですが、最近になってようやく続きを書きたくなり再開をしようと思ったんです。が、古い記事を見返すとデータ・フォーマットが古かったり内容が分かり難かったりに気づきまして、、、この際だからと最初の記事から書き直しをすることになりました…
関連記事
A Tour of Go をやる! – その1 「Hello, 世界」 【Go言語/A Tour of Go】
さてさて、今回も「Go」のお勉強です。 初回は Go を動かせる環境作りをしまし ...
VSCode で Go言語 を触るときによく使う操作や拡張機能なんかの備忘録
記事ヘッダー_VSCodeでGo言語! 今回は、VSCode(Visual St ...
A Tour of Go をやる! – その7 「Multiple results」 一粒で二度美味しい? 【Go言語/A Tour of Go】
「A Tour of Go をやる!」シリーズの第7回目。 前々回から引き続きに ...
A Tour of Go をやる! – その17 「Numeric Constants」 型無し野郎? 【Go言語/A Tour of Go】
「A Tour of Go をやる!」シリーズの第17回目。 暫く続いていた定数 ...
A Tour of Go をやる! その19 「For continued」 ~ Forの続き! ~ 【Go言語/A Tour of Go】
「A Tour of Go をやる!」シリーズの第19回。 今回もプログラミング ...
ディスカッション
コメント一覧
まだ、コメントがありません