我正在编写一个程序,我可能最终将字符串拆分为自身。字符串是一个URL,我想在斜杠上拆分。我想根据URL字符串做不同的事情。
我更好奇为什么strings.Split
会返回意外切片。我尝试在Python中执行此操作并注意到它还返回一个长度为2的列表。对我来说直观的事情似乎是返回一个空列表(切片/数组)。是否有一个很好的理由可以返回两个空字符串?
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Split("/", "/"))
fmt.Println("len:", len(strings.Split("/", "/")))
}
// Prints this
[ ]
len: 2
答案 0 :(得分:13)
据我了解,split
函数返回第一项中/
(没什么)之前的所有内容,以及第二项中/
之后的所有内容(也没有任何内容)项目。因此,两个空字符串。至于为什么你会得到空字符串,这样split()
基本上可以与join
相反,如下所述: