国产探花免费观看_亚洲丰满少妇自慰呻吟_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()方法。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奉新县| 河北区| 阳春市| 蒙山县| 汉沽区| 新乐市| 湖南省| 张家港市| 北川| 五大连池市| 淮南市| 沁水县| 陕西省| 渭南市| 长葛市| 安图县| 板桥市| 改则县| 武冈市| 岢岚县| 双辽市| 扶沟县| 靖西县| 西藏| 永登县| 高密市| 苍山县| 红桥区| 满城县| 灵寿县| 田东县| 义乌市| 稻城县| 石门县| 万全县| 武宁县| 黑水县| 安图县| 准格尔旗| 温州市| 斗六市|