golang strings.Split的疑問


先看下面的代碼

func main() {
    fmt.Println("Hello, 世界")
    cc:=[...]int{}
    b:=""
    a:=strings.Split(b,"'")
    fmt.Printf("%+v,%+v\n",a,cc)
    fmt.Println(len(a),len(cc))
}

輸出結果

Hello, 世界
[],[]
1 0

我們看到cc是一個空的數組,它的長度為0,這個應該不會有疑問,問題在Split函數。

字符串b是一個空的字符串,經過Split后返回的數組的長度為1了,這個有點其妙了。

仔細想想也不其妙,Split函數返回的數組里是包含一個元素的,只不過這個元素的值是長度為0的字符串,所以用len函數計算長度返回1就是很正常的事情了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM