>  기사  >  백엔드 개발  >  골랑 슬라이스 방법 Op

골랑 슬라이스 방법 Op

WBOY
WBOY원래의
2023-05-14 14:40:38455검색

【머리말】

Go 언어의 슬라이스는 매우 일반적인 데이터 구조이며 동적 배열 작업에 자주 사용됩니다. 사용 중에는 슬라이스 추가, 삭제, 확인, 수정과 같은 작업을 수행해야 하는 경우가 많으며 Go 언어는 이러한 작업을 구현하기 위한 몇 가지 내장 메서드를 제공합니다. 이번 글에서는 Go 언어에서 슬라이싱의 기본적인 사용법과 일반적인 방법을 자세히 소개하겠습니다.

【1. 슬라이스 정의】

슬라이스는 다음과 같이 정의되는 가변 길이 시퀀스입니다.

var arr []type

여기서 유형은 int, string 등과 같은 모든 유형이 될 수 있습니다. make() 메소드를 사용하여 슬라이스를 직접 생성할 수도 있습니다.

arr := make([]type, len, cap)

여기서 len은 슬라이스의 길이를 나타내고 cap은 슬라이스의 용량을 나타냅니다. 여기서 주목해야 할 점은 슬라이스의 용량이 길이보다 크거나 같다는 것입니다.

【2. 슬라이싱의 기본 작업】

2.1 슬라이스 순회

범위 키워드를 사용하여 슬라이스를 순회할 수 있습니다.

arr := []string{"hello", "world", "go"}

for index, value := range arr {
    fmt.Printf("index:%d, value:%s
", index, value)
}

출력 결과는 다음과 같습니다.

index:0, value:hello
index:1, value:world
index:2, value:go

2.2 슬라이스 추가

슬라이스에 추가 요소는 아래와 같이 Append() 메서드를 사용할 수 있습니다.

var arr []string
arr = append(arr, "hello")

여기서는append() 메서드를 사용한 후 반환 값을 슬라이스에 다시 할당해야 한다는 점에 유의해야 합니다.

2.3 슬라이스 삭제

슬라이스의 요소를 삭제하려면 아래와 같이 내장된 delete() 메서드를 사용할 수 있습니다.

arr := []string{"hello", "world", "go"}

arr = append(arr[:1], arr[2:]...)

여기 구문은 매우 까다로우므로 세 부분으로 나눌 수 있습니다.

  • arr [:1]: 0부터 1까지의 요소(1 제외), 즉 "hello"를 나타냅니다.
  • arr[2:]: 2부터 배열의 마지막 요소(2 제외)까지의 요소를 나타냅니다. ), 즉 " go";
  • ...두 조각을 병합하는 것을 의미합니다.

최종 결과는 인덱스 1이 있는 "world" 요소를 삭제하는 것입니다.

2.4 슬라이스 수정

슬라이스의 요소를 수정하려면 아래와 같이 첨자를 통해 직접 값을 할당할 수 있습니다.

arr := []string{"hello", "world", "go"}

arr[1] = "Golang"

fmt.Println(arr)

출력 결과는 다음과 같습니다.

[hello Golang go]

[3. 일반적인 슬라이싱 방법]

여기에 몇 가지를 나열하십시오. 일반적으로 사용되는 슬라이싱 방법:

3.1 len() 방법

len() 방법은 조각의 길이를 얻는 데 사용됩니다. 코드 예제는 다음과 같습니다.

arr := []string{"hello", "world", "go"}

fmt.Println(len(arr))

출력 결과는 다음과 같습니다.

3

3.2 cap() 메소드

cap() 메소드 슬라이스의 용량을 얻는 데 사용되는 코드 예는 다음과 같습니다.

arr := make([]string, 3, 5)

fmt.Println(cap(arr))

출력 결과는 다음과 같습니다.

5

3.3 copy() 메소드

copy() 메소드는 다음과 같습니다. 한 슬라이스의 값을 다른 슬라이스로 복사합니다. 코드 예는 다음과 같습니다.

var arr1 = []string{"apple", "banana", "orange"}

var arr2 = make([]string, 3)

copy(arr2, arr1)

fmt.Println(arr2)

출력 결과는 다음과 같습니다.

[apple banana orange]

3.4append() 메소드

append() 메소드는 슬라이스에 요소를 추가하는 데 사용됩니다. 예는 다음과 같습니다:

arr := []string{"hello", "world", "go"}

arr = append(arr, "Golang")

fmt.Println(arr)

출력 결과는 다음과 같습니다:

[hello world go Golang]

3.5append() 메소드 및 확장

슬라이스의 용량이 새 요소를 수용하기에 충분하지 않은 경우,append() 메소드는 자동으로 용량을 확장합니다. 확장 조건은 다음과 같습니다.

  • 새 요소의 길이가 1024보다 작으면 슬라이스의 용량이 두 배가 됩니다.
  • 새 요소의 길이가 1024보다 크거나 같은 경우 , 각 확장은 용량이 충분할 때까지 원래 용량의 1/4씩 증가합니다.

3.6append() 메소드의 가변 매개변수

append() 메소드의 입력 매개변수는 가변 매개변수일 수 있으며 여러 요소를 슬라이스에 추가할 수 있습니다. 코드 예는 다음과 같습니다.

arr := []string{"hello", "world", "go"}

arr = append(arr, "Golang", "Python")

fmt.Println(arr)

출력. 결과는 다음과 같습니다.

[hello world go Golang Python]

[요약]

이 글은 Go 언어에서 슬라이싱의 기본 사용법과 일반적인 방법을 자세히 소개합니다. 모두에게 도움이 되기를 바랍니다. 실제 코드에서는 슬라이싱을 유연하게 사용하면 코드를 더욱 간결하고 효율적으로 만들 수 있습니다.

위 내용은 골랑 슬라이스 방법 Op의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.