git ブランチ名を使用する場合、リモートとブランチを区別するためにブランチを分割する必要がある場合があります。ブランチ名そのもの。最初のスラッシュによる分割が最初に採用されましたが、ブランチ名に複数のスラッシュが存在する可能性があるため、不適切であることが判明しました。
この問題に対処するために、手動による要素のシフトと再マージを回避する、よりクリーンなアプローチが提案されています。 。 strings.SplitN 関数を活用すると、この問題を簡潔かつ効果的に解決できます。コードの修正バージョンは次のとおりです:
func ParseBranchname(branchString string) (remote, branchname string) { branchArray := strings.SplitN(branchString, "/", 2) remote = branchArray[0] branchname = branchArray[1] return }
Go バージョン 1.18 以降では、strings.SplitN の使用をさらに簡素化できます:
func ParseBranchname(branchString string) (remote, branchname string) { branchArray := strings.Split(branchString, "/", 1) remote = branchArray[0] branchname = branchString[len(branchArray[0])+1:] return }
以上がGoで要素の最初の出現によって文字列を分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。