指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

golang声明一个空的字符串切片: 有时候需要遍历一个slice,处理完以后 存到一个新的slice里面,那么需要初始化一个空的字符串切片,而不是nil字符串切片,空和nil有很大的区别:

var list = []string{""} // 至少有一个元素,一般设为"",相当于有一个空的slice,最后通过 list[1:] 排除这个 "" 元素

如果声明为如下格式:
var list = []string{} // 其实这和 var list []string 没有区别,是一个nil的slice,所以直接适用会报下面的错误: out of range ...
通过 recover 可以捕获如下错误:
defer func() {
        if r := recover(); r != nil {
            common.Log.Println("错误:", r)
        }
    }()

[api_request]2022/09/16 15:38:00 duplicateString.go:79: 错误: runtime error: index out of range [0] with length 0