Go에서는 슬라이스 작업이 일반적인 작업입니다. 슬라이스는 동적 배열과 유사한 인터페이스를 제공하는 데이터 구조입니다. 그러나 슬라이스는 고정된 길이가 없기 때문에 배열보다 더 효율적입니다. 슬라이스에서 요소를 제거하려면 먼저 해당 요소를 찾은 다음 슬라이스 작업을 사용하여 슬라이스를 수정해야 합니다.
슬라이스에서 요소를 찾으려면 루프를 사용하고 각 요소를 해당 요소와 비교할 수 있습니다. 우리는 제거하고 싶습니다. 일단 발견되면 다음과 같은 여러 슬라이스 기술 중 하나를 사용하여 제거할 수 있습니다.
a = append(a[:i], a[i+1:]...)
또는:
a = a[:i+copy(a[i:], a[i+1:])]
다음은 전체 예입니다(Go Playground에서 사용 가능).
<code class="go">package main import "fmt" func main() { s := []string{"one", "two", "three"} // Find and remove "two" for i, v := range s { if v == "two" { s = append(s[:i], s[i+1:]...) break } } fmt.Println(s) // Prints [one three] }</code>
이 작업을 캡슐화하는 함수를 만들 수도 있습니다.
<code class="go">package main import "fmt" func remove(s []string, r string) []string { for i, v := range s { if v == r { return append(s[:i], s[i+1:]...) } } return s } func main() { s := []string{"one", "two", "three"} s = remove(s, "two") fmt.Println(s) // Prints [one three] }</code>
이러한 기술을 이해하면 Go에서 필요에 따라 요소를 추가하거나 제거하여 Go에서 슬라이스를 효율적으로 조작할 수 있습니다. 프로그램.
위 내용은 Go의 슬라이스에서 문자열을 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!