1.変数とは何ですか?
私たちは、私は例を与えたい、ここで変数を理解するためにどのようにあるべき?:
我々は、すべてこのゲームの王の栄光を知っている必要があります。私たちは栄光の王を再生すると、私たちは主人公のコントロール血液が常に変化して、血液がメモリの存在である。したがって、この血液がある変数。
プログラムは、私たちが変数と呼ばれる値の量を変更することができ、実行されています。
上記の例の方法によって見つけることができます:
- 変数はメモリに格納されています
- 変数を変更することができます
私たちは、変数がメモリに保存されていることを言うので、メモリが、それは何ですか?
メモリは、各メモリの記憶領域にデータを連続的に収集され、固有のアドレス識別子を持って、メモリアドレスと呼ばれる。私たちは、同じIDが好き、一人一人がユニークなIDを持っています。
私たちは、変数が何であるかを知っている、[移動言語は、変数は、それを定義する方法をすべきですか?
2.変数
変数の定義2.1
使用する基本的な変数定義をされて行くvar
のキーワードを、基本的な形式は次のとおりです。
var 变量名 数据类型
キーワードで変数を宣言
var
先頭に、行の最後にはセミコロンを必要としません。
たとえば、私たちは名前を定義しhp
、タイプint
の変数を:
var hp int // int表示为整型
のは、変数を宣言し、それを印刷して見てみましょう:
package main
import "fmt"
func main() {
// 使用 var 定义一个变量, 注意: 变量类型要放在变量名后面
var hp int
fmt.Println(hp)
}
// 结果:
0
奇妙な?私は0にそれをプリントアウトする方法を、具体的な値の馬力を与えていませんか?
実際には、これは機能ゴーです:私たちは可変時間のデフォルト値を宣言すると、初期値なしならば、それに対応する型を与えます。
この場合、我々は与えたhp
それの価値を。
package main
import "fmt"
func main() {
// 使用 var 定义一个变量, 注意: 变量类型要放在变量名后面
var hp int
hp = 100 // 赋值操作
fmt.Println(hp)
}
// 结果:
100
もちろん、我々はまた、それが宣言された直接することができたときにhp
値を:
var hp int = 100 // 定义变量并初始化值
我々は単にそれを使用する変数を定義していない場合は、[移動]はエラーになります。
2.2複数の変数を定義します
// 定义两个个类型都是int的变量
var hp, mp int
あなたは、同時に複数の変数を定義することができるので、それはまた、同時に複数の変数を初期化することができます
/*定义两个类型都是"int"的变量, 并且分别初始化为相应的值
hp为100, mp为260
*/
var hp, mp int = 100, 260
2.3自動導出タイプ
私たちは、変数を定義するとき、あなたが書く必要があり、いくつかの複雑な発見していない类型
、私たちが書くことはできませ行く类型
、それは自動的に私たちが対応するデータ型を引き出すのに役立ちます。
var hp, mp = 100, 260
一部の人々はそれは、言うvar
:また、あなたがすることができます、毎回の書き込み、良いトラブル何の問題も行くことができます
/*定义两个变量,它们分别初始化为相应的值
hp为100, mp为260
编译器会根据初始化的值自动推导出相应的类型
*/
hp, mp := 100, 260 // 注意这里有个冒号 :
今、私は非常に簡潔な感じではないのです。:=
この記号は、定義と代入変数のための直接交換です。
hp := 100
// 等价于下面两行
var hp int
hp = 100
それが唯一の関数内で使用可能な制限がありますが、機能は、外部コンパイラを使用することはありません、それが一般的であるvar
グローバル変数を定義する方法。
2.4匿名変数
_
(アンダースコア)は、として匿名の変数は、対応するデータが処理されない破棄します。匿名の変数を関数の戻り値と値のみを使用するように、今、私たちは彼らの文法を知ることができます。
次の例では、値をしている2
与えられたb
、廃棄します3
_, b := 3, 2
匿名変数名はスペースを取りません、それはメモリを割り当てません。
ではないので、繰り返し文の変数と匿名の匿名の変数の間で使用することはできません。
2.5変数の命名規則
- 変数には、文字、数字、アンダースコアで構成することができます。
- あなたは数字で始めることはできません。
- Goでは、キーワードと予約語ではありません
- 大文字と小文字の区別、
a := 1
およびA := 1
二つの変数。
上記の要件を作るためにしようとする、次の要件を満たさなければなりません
- 記述変数名が長すぎない、簡潔で読みやすいように持っています。
- 変数名は、中国やピンインを使用することはできません。
- 変数名を推奨:
- 下線:MY_NAME = 'コナン'
- ハンプ本体:MYNAME =「コナン」
言語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
言語37予約語を行きます:
Constants: true false iota nil
Types: int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
Functions: make len cap new append copy close delete
complex real imag
panic recover