最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Golang::slice和nil的對(duì)比分析

 更新時(shí)間:2020年12月25日 09:10:18   作者:天已青色等煙雨來(lái)  
這篇文章主要介紹了Golang::slice和nil的對(duì)比分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

我就廢話(huà)不多說(shuō)了,大家還是直接看代碼吧~

package main
import (
  "fmt"
)
func main() {
  var s1 []int
  if s1 == nil {
    fmt.Println("s1==nil")
  } else {
    fmt.Println("s1!=nil")
  }
  var arr = [5]int{}
  s1 = arr[:]
  if s1 == nil {
    fmt.Println("s1==nil")
  } else {
    fmt.Println("s1!=nil")
  }
}

補(bǔ)充:[golang]nil slice和empty slice的區(qū)別

前言

在開(kāi)發(fā)的時(shí)候,會(huì)遇到對(duì)于nil slice和empty slice的問(wèn)題,往往在聲明了slice之后,在使用的時(shí)候卻出現(xiàn)了問(wèn)題。

問(wèn)題

以下是錯(cuò)誤的用法,會(huì)報(bào)數(shù)組越界的錯(cuò)誤,因?yàn)橹皇锹暶髁藄lice,卻沒(méi)有給實(shí)例化的對(duì)象,這一點(diǎn)如果是cpp的vector,便可以直接使用,但是golang 不行。

var slice []int

slice[1] = 0

此時(shí)slice的值是nil,這種情況可以用于需要返回slice的函數(shù),當(dāng)函數(shù)出現(xiàn)異常的時(shí)候,保證函數(shù)依然會(huì)有nil的返回值。

empty slice 是指slice不為nil,但是slice沒(méi)有值,slice的底層的空間是空的,此時(shí)的定義如下:

slice := make([]int,0)//或者

slice := []int{}

當(dāng)我們查詢(xún)或者處理一個(gè)空的列表的時(shí)候,這非常有用,它會(huì)告訴我們返回的是一個(gè)列表,但是列表內(nèi)沒(méi)有任何值。

總之,nil slice 和 empty slice是不同的東西,在編程的需要加以區(qū)分。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

最新評(píng)論

怀柔区| 永定县| 罗平县| 勐海县| 浮梁县| 洛隆县| 永泰县| 特克斯县| 奈曼旗| 泰安市| 西安市| 聊城市| 昆明市| 泸州市| 墨玉县| 义马市| 滦南县| 龙胜| 隆子县| 大宁县| 绥棱县| 石景山区| 二连浩特市| 霍邱县| 时尚| 喀喇| 永顺县| 陆河县| 天水市| 湟中县| 鹤岗市| 康定县| 时尚| 土默特左旗| 凤山县| 松潘县| 德庆县| 崇仁县| 横峰县| 客服| 当雄县|