golang 배열 array

1 minute read

Array 배열

  • 형식

    // 방법 1
    var name [2]string = [2]string{"ychae", "leah"}
    // 방법 2
    var age = [4]int{34,12,25,11}
    // 방법 3
    pets = [3]string{"cat", "dog", "bird"}
    
    • 배열을 생성하면서 동시에 값 초기화 {}
    • 만약 별도의 값을 초기화 하지 않으면 배열의 요소 모두 0으로 초기화됨
  • […]

    • 초기화할 값의 개수에 따라 자동으로 크기가 설정됨
    a := [...]int{1,2,3,4,5}
    b := [...]int{
        1,
        2,
        3,
        4
    }
    

특징

  • 요소들은 담긴 순서에 따라 index 값이 부여됨 (0부터)

  • 길이가 고정되어 있음

    • 인덱스 범위를 넘어선 개수로 값을 초기화 하면 에러
    a := [5]int{1,2}
    // 길이가 5로 고정되어 있어서 출력하면 [1 2   ]
    
  • 배열을 다른 배열 변수에 대입하면, 배열이 복사되어 대입

    • 배열 변수는 배열 전체를 뜻하고, 첫 번째 요소의 포인터 값이 아님!!
    • 배열 b 에 배열 a을 대입하면 a의 값을 복사한 서로 다른 배열

다차원 배열 선언

  • 자료형 앞 대괄호를 여러 번 사용하면 다차원 배열을 만들 수 있음

  • ex) 2차원 배열

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

값 가져오기, 변경하기

  • 담긴 순서에 따라 인덱스 값이 부여됨 (0 부터)

  • 배열의이름[index값] 으로 해당 위치의 요소 값을 가져올 수 있음

    a := [2]int{1,2}
    print(a[0]) // 1
    print(a[1]) // 2
    
  • 요소 값을 변경

    a[0] = 3
    print(a) // [3 2]
    

range

  • for 인덱스, 값 := range 배열{}

  • for 에 range 를 쓰면 배열, 슬라이스, 맵 등등의 요소들을 순회할 수 있음

    a := [3]string{"a", "b","c"}
    for i, value := range a {
        fmt.Println(i, value)
    }
    // 0 a 1 b 2 c  인덱스 값과 배열의 요소 값 출력
    
    for i := range a {
        fmt.Println(i)
    }
    // 0 1 2 인덱스 값 출력
    
    for _, value := range a {
        fmt.Println(value)
    }
    // a b c  인덱스 값 생략 ( _ ) 배열 요소 값 출력
    

더보기

Categories:

Updated:

Comments