クラッシュコースパートV:定数,演算子および予約キーワード
6251 ワード
定数
前の記事ではgoはimmutable型を持っていません.私は半分しかなかった.go定数
const
しかし、それはfinal
Javaでconst
Javascriptでconst
GOは基本的なタイプで動作し、コンパイル時に知ることができます.ブール値、整数、浮動小数点、文字、ルーン文字、文字列と同様です.struct、funcまたはinterfaceのような複合型の定数を作成できません.すべての値はコンパイル時に知らなければなりません.入力されていないconstで、ほぼ任意の数値定数を格納できます.値を使用しようとすると問題が発生します.const (
BigConst = math.MaxFloat64 * math.MaxFloat64
)
このコードをコードの先頭に配置してコンパイルします.晴れでしょう.しかし、あなたがこれを印刷しようとするか、キャストしようとするならばfmt.Println(BigConst) // this code wont compile
このコードはコンパイルされませんBigConst
に合わないfloat64
. 京大理
我々は、定数のシリーズを生成することができます
iota
定発電機.const (
a0 = iota // 0
a1 = iota // 1
a2 = iota // 2
a3 = iota // 3
)
また、定数の一連の値を設定するために代入をスキップすることによって短縮を使用できます.const (
b0 = iota // 0
b1 // 1
b2 // 2
b3 // 3
)
我々が1か2つの価値をスキップするならばiota
発電機は計数を続けるconst (
c0 = iota // 0
c1 = 43
c2 = 75
c3 = iota // 3
)
私は、これが役に立つというシナリオを想像することができません.しかし、それはそこにあります.iota
発電機あたりの再評価const
ブロック.const d0 = iota //0
const d1 = iota //0
const d2 = iota //0
const d3 = iota //0
const
はほとんど似ていますenum
他の言語で、または、Mathmetical定数で.演算子
GO演算子の数をサポートします.それらのうちのいくつかは算術演算子である.いくつかは句読点です.他のコンテキストに基づいて特定の意味があります.
+ & += &= && == != ( )
- | -= |= || < <= [ ]
* ^ *= ^= <- > >= { }
/ << /= <<= ++ = := , ;
% >> %= >>= -- ! ... . :
&^ &^=
The official language spec 詳細にオペレータの各々について話してください.値を計算するために使用される演算子は、優先順位を設定します.同じ優先順位の演算子は左から右に評価されます.
Precedence Operator
5 * / % << >> & &^
4 + - | ^
3 == != < <= > >=
2 &&
1 ||
例えばx := 5*10 + 6/3 | 7%4&15
// (5*10) + (6/3) | (7%4)&15 => 50 + 2 | 3&15 => 52 | 3 = 55
これは曖昧さなしに評価する.しかし、これはあなたがそうすることができなかったので、あなたがそうする必要がないという理由の古典的な例です.これは人間に読めない.適切なブラケットを使用すると読みやすくなります.予約キーワード
GOは予約されたキーワードのかなり小さいセットを持っています.他の言語にはかなり大きな予約されたキーワードがあります.C++ 95、Java 53、JS 64などのGOには25の予約済みのキーワードしかありません.予約されたキーワードの構文では、この名前で名前を指定できません.
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
このような限定されたキーワードのセットを持っていると、いくつかの欠点もある.あなたが見ることができるように、タイプのどれも実際に予約されたキーワードの一部です.そのため、intという変数を作成することができます.
int := 10 // this is valid code
var c int = 10 // this doesnt work now
次の手順
これは、このGOクラッシュコースシリーズの第5部です.
Reference
この問題について(クラッシュコースパートV:定数,演算子および予約キーワード), 我々は、より多くの情報をここで見つけました https://dev.to/moficodes/go-crash-course-part-v-constants-operators-and-reserved-keywords-1papテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol