国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

Go語言中map數據類型3點小知識

2020-04-01 19:25:44
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Go中map數據類型3點小知識,在go中使用map時可能會用本文中的小知識,需要的朋友可以參考下
 

1、map數據類型初始化

兩種方式:map[string]string{}或make(map[string]string)

2、未初始化的map是nil,它與一個空map基本等價,只是nil的map不允許往里面添加值。(A nil map is equivalent to an empty map except that no elements may be added)

因此,map是nil時,取值是不會報錯的(取不到而已),但增加值會報錯。

其實,還有一個區別,delete一個nil map會panic,但是delete 空map是一個空操作(并不會panic)(這個區別在最新的Go tips中已經沒有了,即:delete一個nil map也不會panic)

3、通過fmt打印map時,空map和nil map結果是一樣的,都為map[]。所以,這個時候別斷定map是空還是nil,而應該通過map == nil來判斷。

Request中的Form字段就是如此,在沒有直接或間接調用ParseForm()時,Form其實是nil,但是,你如果println出來,卻是map[],可能有些困惑。通過跟蹤源碼可以發現,Form根本沒有初始化。而在FormValue()方法中會判斷Form是否為nil,然后決定是否調用ParseForm()方法,當然,你也可以手動調用ParseForm()方法。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 左贡县| 南召县| 洮南市| 贺州市| 临海市| 大关县| 老河口市| 巴东县| 太和县| 东乡族自治县| 资溪县| 镇安县| 澄城县| 德化县| 弋阳县| 广元市| 剑河县| 百色市| 嘉祥县| 新闻| 循化| 宝鸡市| 遵义市| 通州市| 本溪| 锡林郭勒盟| 抚远县| 富平县| 五家渠市| 新野县| 耒阳市| 白水县| 昭通市| 鹤山市| 扶绥县| 蕲春县| 额敏县| 德清县| 通许县| 盐津县| 伽师县|