【发布时间】:2020-07-01 14:36:30
【问题描述】:
我正在尝试解析 git 分支名称并将它们拆分,以便我可以将远程和分支名称分开
之前我只是在第一个斜线处拆分:
func ParseBranchname(branchString string) (remote, branchname string) {
branchArray := strings.Split(branchString, "/")
remote = branchArray[0]
branchname = branchArray[1]
return
}
但我忘记了有些人也在 git 分支名称中使用斜杠,甚至多个!
现在我从分割中取出切片中的第一个元素,然后移动每个元素并在斜杠上合并:
func ParseBranchname(branchString string) (remote, branchname string) {
branchArray := strings.Split(branchString, "/")
remote = branchArray[0]
copy(branchArray[0:], branchArray[0+1:])
branchArray[len(branchArray)-1] = ""
branchArray = branchArray[:len(branchArray)-1]
branchname = strings.Join(branchArray, "/")
return
}
有没有更简洁的方法来做到这一点?
【问题讨论】:
-
根据您首先获取分支名称的方式,您可以只从源中获取短名称。