2016-03-08 269 views
4

我剛剛開始學習golang,遇到了一些很奇怪的事情。當你從一個調用strings.Split獲得一個空數組時,它的長度爲1。爲什麼從strings.Split中返回的空數組的長度爲1?

package main 

import (
    "fmt" 
    "strings" 
) 

func main() { 
    test := strings.Split("", ",") 

    fmt.Println(test) 
    fmt.Println(len(test)) 
} 

此輸出:

[] 
1 

這是爲什麼?如果這是預期的行爲,那麼檢查數組是否爲空的正確方法是什麼?

由於

+5

因爲數組不是空的。它的第一個元素是一個空字符串'「」'。 –

+0

非常感謝。 – wybourn

+0

此外,「,」是用逗號分隔的兩個空字符串,因此它們最終長度爲2. –

回答

2

如由@u_mulder評論說,因爲它包含空字符串數組不爲空。

相關問題