Golang Go语言中截取的疑问

发布于 1周前 作者 phonegap100 来自 Go语言

Golang Go语言中截取的疑问

package main

func main(){ str := “wcd” print(str[len(str)]) // panic print(str[len(str):]) // 输出为空 }

代码如上

为啥一个是 panic 一个可以输出为空

1 回复

更多关于Golang Go语言中截取的疑问的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


在Go语言中,字符串和切片的截取是一个常见的操作,它们使用相同的语法。下面是对截取操作的一些详细解释,希望能够帮助你解决疑问。

字符串截取

字符串截取使用切片操作符[:],它允许你从一个字符串中提取一个子字符串。基本语法是:

substr := str[start:end]
  • str 是原始字符串。
  • start 是起始索引(包含)。
  • end 是结束索引(不包含)。

如果省略 start,则默认为0;如果省略 end,则默认为字符串的长度。

切片截取

切片的截取与字符串类似,也是使用切片操作符[:]。基本语法是:

slice2 := slice1[start:end]
  • slice1 是原始切片。
  • startend 的含义与字符串截取相同。

切片截取会生成一个新的切片,但它会共享原始切片中startend(不包括end)之间的底层数组。

注意事项

  1. 索引从0开始。
  2. 索引不能超出字符串或切片的范围,否则会引发运行时错误。
  3. 截取操作的时间复杂度是O(1),因为只是计算新的切片头和尾指针。

希望这些解释能够帮助你更好地理解Go语言中的截取操作。如果你有更具体的问题或示例代码需要分析,请随时提供,我会进一步解答。

回到顶部