make loop

This commit is contained in:
chai2010
2015-12-26 20:05:30 +08:00
parent 82ec0c025d
commit e15e88dad7
74 changed files with 207 additions and 207 deletions

View File

@@ -1,10 +1,10 @@
### 2.3.2. 指針
一個變量對應一個保存了變量對應類型值的內存空間。普通變量在聲明語句創建時被綁定到一個變量名比如叫x的變量但是還有很多變量始終以表達式方式引入例如x[i]或x.f變量。所有這些表達式一般都是讀取一個變量的值除非它們是現在賦值語句的左邊,這種時候是給對應變量賦予一個新的值。
一個變量對應一個保存了變量對應類型值的內存空間。普通變量在聲明語句創建時被綁定到一個變量名比如叫x的變量但是還有很多變量始終以表達式方式引入例如x[i]或x.f變量。所有這些表達式一般都是讀取一個變量的值除非它們是現在賦值語句的左邊,這種時候是給對應變量賦予一個新的值。
一個指針的值是另一個變量的地址。一個指針對應變量在內存中的存儲位置。併不是每一個值都會有一個內存地址,但是對於每一個變量必然有對應的內存地址。通過指針,我們可以直接讀或更新對應變量的值,而不需要知道該變量的名字(如果變量有名字的話)。
如果用“var x int”聲明語句聲明一個x變量那麽&x表達式取x變量的內存地址將産生一個指向該整數變量的指針指針對應的數據類型是`*int`指針被稱之爲“指向int類型的指針”。如果指針名字爲p那麽可以説“p指針指向變量x”或者説“p指針保存了x變量的內存地址”。同時`*p`表達式對應p指針指向的變量的值。一般`*p`表達式讀取指針指向的變量的值這里爲int類型的值同時因爲`*p`對應一個變量,所以該表達式也可以現在賦值語句的左邊,表示更新指針所指向的變量的值。
如果用“var x int”聲明語句聲明一個x變量那麽&x表達式取x變量的內存地址將産生一個指向該整數變量的指針指針對應的數據類型是`*int`指針被稱之爲“指向int類型的指針”。如果指針名字爲p那麽可以説“p指針指向變量x”或者説“p指針保存了x變量的內存地址”。同時`*p`表達式對應p指針指向的變量的值。一般`*p`表達式讀取指針指向的變量的值這里爲int類型的值同時因爲`*p`對應一個變量,所以該表達式也可以現在賦值語句的左邊,表示更新指針所指向的變量的值。
```Go
x := 1
@@ -18,7 +18,7 @@ fmt.Println(x) // "2"
變量有時候被稱爲可尋址的值。卽使變量由表達式臨時生成,那麽表達式也必鬚能接受`&`取地址操作。
任何類型的指針的零值都是nil。如果`p != nil`測試爲眞那麽p是指向某個有效變量。指針之間也是可以進行相等測試的隻有當它們指向同一個變量或全部是nil時相等。
任何類型的指針的零值都是nil。如果`p != nil`測試爲眞那麽p是指向某個有效變量。指針之間也是可以進行相等測試的隻有當它們指向同一個變量或全部是nil時相等。
```Go
var x, y int