下面代码中其实真正有效的元素就 2
个,如果用 len()
方法会得到 7
那 go
中有什么方法能得到结果为 2
么
package main
import "fmt"
type abc string
func main() {
tslice := make([]abc, 5, 10)
tslice = append(tslice, "测试数组", "第二个值")
for _, val := range tslice {
fmt.Printf("结果为 %v \n", val)
}
}
你
make([]abc, 5, 10)
已经初始化切片了.你打印前五个值实际值为''
你也可以把切片类型改成int类型,那么前五个元素会输出0,所以你除非遍历计算非空元素的个数,基本是没办法区分的