校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Golang::slice和nil的對比分析

Golang::slice和nil的對比分析

熱門標簽:鄭州智能語音電銷機器人價格 湛江crm外呼系統(tǒng)排名 寧波語音外呼系統(tǒng)公司 上海極信防封電銷卡價格 仙桃400電話辦理 宿遷便宜外呼系統(tǒng)代理商 重慶慶云企業(yè)400電話到哪申請 地圖標注免費定制店 不封卡外呼系統(tǒng)

我就廢話不多說了,大家還是直接看代碼吧~

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")
  }
}

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

前言

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

問題

以下是錯誤的用法,會報數(shù)組越界的錯誤,因為只是聲明了slice,卻沒有給實例化的對象,這一點如果是cpp的vector,便可以直接使用,但是golang 不行。

var slice []int

slice[1] = 0

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

empty slice 是指slice不為nil,但是slice沒有值,slice的底層的空間是空的,此時的定義如下:

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

slice := []int{}

當我們查詢或者處理一個空的列表的時候,這非常有用,它會告訴我們返回的是一個列表,但是列表內(nèi)沒有任何值。

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

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

您可能感興趣的文章:
  • Golang 拷貝Array或Slice的操作
  • golang中的空slice案例
  • golang-切片slice的創(chuàng)建方式
  • golang語言如何將interface轉(zhuǎn)為int, string,slice,struct等類型
  • Golang中的Slice與數(shù)組及區(qū)別詳解
  • golang中range在slice和map遍歷中的注意事項
  • golang slice元素去重操作

標簽:儋州 遼寧 海南 青海 安康 物業(yè)服務 電子產(chǎn)品 西雙版納

巨人網(wǎng)絡通訊聲明:本文標題《Golang::slice和nil的對比分析》,本文關鍵詞  Golang,slice,和,nil,的,對比,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Golang::slice和nil的對比分析》相關的同類信息!
  • 本頁收集關于Golang::slice和nil的對比分析的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 屏东市| 宁陵县| 平邑县| 神农架林区| 宁安市| 甘谷县| 凭祥市| 封开县| 同江市| 镶黄旗| 迭部县| 麻城市| 灯塔市| 察哈| 东阳市| 兴文县| 远安县| 石景山区| 皮山县| 广宗县| 萨迦县| 游戏| 汝城县| 鄂州市| 阳春市| 罗源县| 安乡县| 烟台市| 彝良县| 河南省| 西藏| 南投县| 信阳市| 教育| 平和县| 千阳县| 孟村| 柏乡县| 繁昌县| 海门市| 桓台县|