先看下面的代码

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, 世界
[],[]

我们看到cc是一个空的数组,它的长度为0,这个应该不会有疑问,问题在Split函数。

字符串b是一个空的字符串,经过Split后返回的数组的长度为1了,这个有点其妙了。

仔细想想也不其妙,Split函数返回的数组里是包含一个元素的,只不过这个元素的值是长度为0的字符串,所以用len函数计算长度返回1就是很正常的事情了。

golang strings.Split的疑问的更多相关文章

  1. golang strings.Split函数

    golang strings.Split函数 https://play.studygolang.com/ package main import ( "fmt" "str ...

  2. golang学习笔记15 golang用strings.Split切割字符串

    golang用strings.Split切割字符串 kv := strings.Split(authString, " ") if len(kv) != 2 || kv[0] != ...

  3. golang strings

    package main import s "strings" //别名 import ( "fmt" ) var p = fmt.Println func m ...

  4. golang --strings 下常用函数api

    1. func Compare(a, b string) int {} 比较返回一个按字典顺序比较两个字符串的整数.如果a == b则结果为0,如果a <b则结果为-1,如果a> b则结果 ...

  5. golang strings常用函数

    package main import ( "fmt" "strings" ) func main() { s1 := " aBc" s2 ...

  6. golang(3):strings和strconv使用 & 时间和日期类型 & 指针类型 & 流程控制 & 函数

    strings和strconv使用 . strings.HasPrefix(s string, prefix string) bool: // 判断字符串s是否以prefix开头 . . string ...

  7. Golang 字符串操作--使用strings、strconv包

    strings包 package main import ( "fmt" "strings" ) func main() { //func Count(s, s ...

  8. golang基础学习-strings包常用函数学习

    package main import ( "fmt" "strings" ) //StrFunc 字符串说明 func main() { var testSt ...

  9. 换个语言学一下 Golang (13)——Web表单处理

    介绍 表单是我们平常编写Web应用常用的工具,通过表单我们可以方便的让客户端和服务器进 行数据的交互.对于以前开发过Web的用户来说表单都非常熟悉.表单是一个包含表单元素的区域.表单元素是允许用户在表 ...

随机推荐

  1. js测试

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. docker构建测试环境

    构建测试环境首先要根据自己的需求,构建出适合自己项目的image,有了自己的image,就可以快速的搭建出来一套测试环境了. 下边就说一下构建image的两种方式. 1.DOCKFILE创建文件夹:m ...

  3. cocos2d-x 输入框CCEditBox的使用

    特别说明: 这个版本的CCEditBox,设计有缺陷,背景图片的位置与输入区域的位置不同步,需要自己修改原来的代码,自己加上输入区域的坐标偏移量. void CCEditBox::setPositio ...

  4. C语言 函数指针三(反向调用)

    动态库代码 //简单的动态库开发----报文发送 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib. ...

  5. .net mvc 下实现移动架构display mode

    最近要求做支持移动端网站 我们的设计已经把移动端UI给我了,但是我还没想好改用哪种方式支持移动端 1.常见的就是2级域名m.baidu.com,框架根据访问者设备,来选择是否跳转到移动站 2.同域名的 ...

  6. HDU-1095-A+B for Input-Output Practice (VII)(多一个空格?)

    A+B for Input-Output Practice (VII) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32 ...

  7. sublime 空格 tab

    sublime强大的编辑能力非常值得推荐.在编辑python语言时,因为python用段落格式取代了常见语言中的括号,所以在写python时.会将空格和tab混淆,如此产生的错误非常是恼人. 如17, ...

  8. The Boost C++ Libraries中文教程

    http://zh.highscore.de/cpp/boost/

  9. JVM命令行工具&垃圾收集器&垃圾收集策略思维导图

    1.JVM命令行工具 2.垃圾回收算法 3.垃圾收集器

  10. 使用c++为node.js扩展模块

    官方文档 编写c++代码 // demo.cc #include <node.h> using v8::FunctionCallbackInfo; using v8::Isolate; u ...