第 28 期 Go 夜读之 go mod 源码阅读 part 3

学到的内容

  1. json:",omitempty"

方法一:

if path[len(path)-1] == '/' {
    return fmt.Errorf("trailing slash")
}

方法二:

strings.HasSuffix(path, "/")

benchmark

方法一:

strings.TrimSuffix(pathMajor, "-unstable")

方法二:

i := len(path)

if strings.HasSuffix(path, "-unstable") {
    i -= len("-unstable")
}

benchmark

if i := strings.Index(arg, "@"); i >= 0 {
    path, vers = arg[:i], arg[i+1:]
}

也可以用 split(arg, "@") 来实现。

观看视频