This commit is contained in:
sunclx 2016-01-31 14:59:55 +08:00
parent 9e3805d9b1
commit c3eed9d5e4

View File

@ -114,7 +114,7 @@ s = []int(nil) // len(s) == 0, s == nil
s = []int{} // len(s) == 0, s != nil s = []int{} // len(s) == 0, s != nil
``` ```
如果你需要測試一個slice是否是空的使用len(s) == 0來判斷而不應該用s == nil來判斷。除了和nil相等比較外一個nil值的slice的行爲和其它任意0長度的slice一樣例如reverse(nil)也是安全的。除了文檔已經明確説明的地方所有的Go語言函數應該以相同的方式對待nil值的slice和0長度的slice。 如果你需要測試一個slice是否是空的使用len(s) == 0來判斷而不應該用s == nil來判斷。除了和nil相等比較外一個nil值的slice的行爲和其它任意0長度的slice一樣例如reverse(nil)也是安全的。除了文檔已經明確説明的地方所有的Go語言函數應該以相同的方式對待nil值的slice和0長度的slice。
內置的make函數創建一個指定元素類型、長度和容量的slice。容量部分可以省略在這種情況下容量將等於長度。 內置的make函數創建一個指定元素類型、長度和容量的slice。容量部分可以省略在這種情況下容量將等於長度。