Go 언어에서는 Split() 메서드를 사용하여 문자열을 분할합니다. 구분 기호를 사용하여 문자열을 하위 문자열 목록으로 나눌 수 있으며 하위 문자열은 조각 형태로 반환됩니다. Split()은 strings 패키지의 메서드로, 사용하기 전에 strings 패키지를 가져와야 합니다. 구문은 "strings.Split(분할할 문자열, 구분 기호)"입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, GO 버전 1.18, Dell G3 컴퓨터.
Go에서 Split() 함수(문자열 패키지에 포함됨)는 구분 기호를 사용하여 문자열을 하위 문자열 목록으로 나눕니다. 하위 문자열은 조각으로 반환됩니다.
Syntax
문자열 패키지를 가져와야 합니다.
strings.Split(s, sep)
Parameters | Description | Remarks |
s | 분할할 문자열 | 문자열 유형 매개변수 |
sep | Delimiter | 문자열 유형 매개변수 |
반환 값
문자열 슬라이스를 반환합니다.
Split() 함수는 구분 기호에 따라 문자열을 분할합니다. 절단 후에는 문자열 슬라이스가 반환됩니다. 슬라이스 len 및 cap 값은 원래 문자열에 있는 구분 기호 수 + 1과 같습니다(s가 빈 문자열이 아닌 경우에만 true).
package main import ( "fmt" "strings" ) func main() { demo := "I&love&Go,&and&I&also&love&Python." string_slice := strings.Split(demo, "&") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
실행 결과는 다음과 같습니다.
result: [I love Go, and I also love Python.] len: 8 cap: 8
1. 원본 문자열에 구분 기호가 없는 경우
원래 문자열에 구분 기호가 없는 경우 Split( ) 함수는 원본 문자열을 len 및 cap 값이 모두 1인 문자열 조각으로만 변환합니다.
package main import ( "fmt" "strings" ) func main() { demo := "I love Go, and I also love Python." string_slice := strings.Split(demo, "&") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
실행 결과는 다음과 같습니다.
result: [I love Go, and I also love Python.] len: 1 cap: 1
2. 구분자가 빈 문자열인 경우
구분자가 빈 문자열인 경우 Split() 함수는 문자열의 각 문자를 하나로 분할합니다. 강요.
package main import ( "fmt" "strings" ) func main() { demo := "Go" string_slice := strings.Split(demo, "") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
작업 결과:
result: [G o] len: 2 cap: 2
3. 매개변수가 모두 빈 문자열입니다.
Split() 함수의 두 매개변수가 모두 빈 문자열인 경우(즉, s와 sep가 모두 빈 문자열) Split() 함수는 len 및 cap 값이 모두 0인 빈 문자열 슬라이스를 반환합니다.
package main import ( "fmt" "strings" ) func main() { demo := "" string_slice := strings.Split(demo, "") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) }
실행 결과:
result: [] len: 0 cap: 0
4. s가 빈 문자열이고 sep가 빈 문자열이 아닌 경우
이 경우 결과는 여전히 문자열 Slice입니다. , 그러나 문자열 슬라이스의 len 및 cap 값은 1입니다(이전 시나리오처럼 0이 아님). 반환된 결과는 빈 문자열을 포함하는 문자열 조각입니다.
package main import ( "fmt" "strings" ) func main() { demo := "" string_slice := strings.Split(demo, "*") fmt.Println("result:",string_slice) fmt.Println("len:",len(string_slice)) fmt.Println("cap:", cap(string_slice)) element := string_slice[0] fmt.Printf("string_slice[0]:%s, type:%T, len():%d\n", element, element, len(element),) fmt.Println("element == \"\"?", element == "") }
실행 결과:
result: [] len: 1 cap: 1 string_slice[0]:, type:string, len():0 element == ""? true
5. 반환된 문자열 조각에 더 이상 구분 기호가 포함되지 않습니다
[관련 권장 사항: Go 비디오 튜토리얼, 프로그래밍 교육]
위 내용은 Go 언어에서 분할 방법을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!