Apabila bekerja dengan nama cawangan git, mungkin perlu untuk memisahkannya untuk membezakan antara jarak jauh dan nama cawangan itu sendiri. Walaupun pemisahan dengan garis miring pertama pada mulanya digunakan, ia terbukti tidak mencukupi kerana potensi kehadiran berbilang garis miring dalam nama cawangan.
Untuk menangani isu ini, pendekatan yang lebih bersih dicadangkan yang mengelakkan peralihan elemen manual dan penggabungan semula . Dengan memanfaatkan fungsi rentetan.SplitN, masalah dapat diselesaikan dengan ringkas dan berkesan. Berikut ialah versi kod yang diubah suai:
func ParseBranchname(branchString string) (remote, branchname string) { branchArray := strings.SplitN(branchString, "/", 2) remote = branchArray[0] branchname = branchArray[1] return }
Dalam Go versi 1.18 dan ke atas, penggunaan rentetan.SplitN boleh dipermudahkan lagi:
func ParseBranchname(branchString string) (remote, branchname string) { branchArray := strings.Split(branchString, "/", 1) remote = branchArray[0] branchname = branchString[len(branchArray[0])+1:] return }
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan mengikut Kejadian Pertama Elemen dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!