처음부터 시작 - 배열 및 슬라이스

배열은 연결된 요소의 그룹입니다. 파일에 많은 주문, 자동차, 행과 같은 그룹이 있을 때 배열을 사용하려고 합니다. 아이디어는 모든 데이터를 하나의 구조로 수집하는 것입니다. 또한 그것을 반복하고 가능한 한 그룹으로 작업을 수행할 수 있기를 원합니다.

시리즈


  • 첫 번째 프로그램이 여기에 있습니다.







  • 어레이, 현재 위치



  • 배열 선언



    배열을 선언하려면 다음 속성을 지정해야 합니다.

  • 용량, 얼마나 많은 요소를 보유하고 있는지.

  • 유형, 보유하고 있는 요소의 유형.

  • 배열 콘텐츠를 만들 때 요소를 할당하거나 나중에 할당할 수 있습니다.

  • 구문은 다음과 같습니다.

    [<capacity>]<type>{...element}
    


    대괄호 [] 로 시작합니다. 대괄호 안에 수용할 수 있는 요소 수인 용량을 설정합니다.

    다음은 보다 실제적인 예입니다.

    cities := [5]string{"NY", "LA"}
    


    앞의 코드에서는 문자열 배열이 선언됩니다. 그것은 5개의 요소를 수용할 수 있으며 그 중 두 곳은 "NY"와 "LA"로 채워져 있습니다. 또한 용량을 5로 설정하고 할당된 요소 수가 2이므로 3개의 공간이 비어 있습니다.

    추론에 의한 용량



    용량을 명시적인 숫자로 설정할 필요가 없으며 ... 로 설정할 수 있습니다. 이 경우 용량은 다음과 같이 할당한 요소의 수로 설정됩니다.

    ids := [...]int{1, 2, 3, 4}
    


    앞의 코드에는 4개의 요소가 있으며 이는 용량이기도 합니다.

    요소에 접근하기



    요소에 액세스하는 방법은 해당 인덱스를 사용하는 것입니다. 인덱스는 0을 기준으로 합니다. 즉, 첫 번째 인덱스는 0이고 마지막 인덱스는 길이 -1입니다.

    ids := [...]int{1, 2, 3, 4}
    ids[0] // 1
    ids[3] // 4
    


    길이 및 용량



    다음과 같은 배열이 선언되어 있다고 상상해 보십시오.

    cities := [5]string{"NY", "LA"}
    



  • 길이. 길이는 배열의 요소 수로 정의됩니다. len() 방법을 사용하여 이를 확인할 수 있습니다.

  •    len(cities) // 2
    



  • 용량. 용량은 어레이가 보유할 수 있는 요소 수입니다. cap()는 용량을 찾는 데 사용하는 방법입니다.

  •    cap(cities) // 5
    


    슬라이스



    슬라이스는 배열의 일부입니다. 슬라이스 연산자가 사용될 때 슬라이스가 생성됩니다. 슬라이스 연산자의 구문은 다음과 같습니다.

    s[i:p]
    


  • s , 어레이
  • i ,
  • 에서 요소를 가져올 배열의 첫 번째 인덱스
  • p , 변수 p는 새 슬라이스에서 사용할 수 있는 기본 배열의 마지막 요소에 해당합니다. 즉, 이 인덱스 바로 앞에서 잘라냅니다.

  • items := [5]int{1,2,3,4,5}
    part = items[1:3] // 2,3
    


    요소 추가



    슬라이스는 배열과 다르며 항목을 추가할 수 있습니다. append() 메서드를 사용하면 여기에 요소를 추가할 수 있습니다. append()의 구문은 다음과 같습니다.

    append(slice, element)
    


    슬라이스에 추가하는 방법은 다음과 같습니다.

    var numbers []int
    numbers = append(numbers, 1)
    numbers = append(numbers, 2) // 1,2
    


    요소 제거



    새 조각을 구성하여 요소를 제거합니다.

    letters := []string{"A", "B", "C", "D", "E"}
    remove := 2 // remove index
    // 0 - remove index, remove +1 to end   
    letters = append(letters[:remove], letters[remove+1:]...)
    


    make로 슬라이스 만들기


    make() 메서드를 사용하여 슬라이스를 만들 수 있습니다. 방법은 다음과 같습니다.

    slice := make([]int, 5) // creates a slice with length 5 and capacity 5
    


    이를 다른 값으로 설정할 수 있습니다.

    slice2 := make([]int, 2, 5)
    fmt.Println(slice2)
    fmt.Println(len(slice2))
    fmt.Println(cap(slice2))
    


    여기서 슬라이스의 길이는 2이고 용량은 5입니다.

    요소 복사




    arr := [3]int{1, 2, 3}
    dest := make([]int, 5)
    copy(dest, arr[0:2]) // copies slice {1,2} into dest
    fmt.Println(dest) // [1 2 0 0 0]
    


    요약



    요약하면 배열을 사용하는 방법을 배웠습니다. 또한 슬라이스 작업을 다뤘습니다. 슬라이스를 사용하면 배열과 같은 구조로 작업하고 적합하다고 생각되는 크기를 변경할 수 있습니다.

    더 알아보기



    https://docs.microsoft.com/en-us/learn/modules/go-data-types/2-slices

    좋은 웹페이지 즐겨찾기