Go(golang) 배열(array)과 슬라이스(slice)

안녕하세요. 알렉스입니다. 이번에는 go언어의 배열과 슬라이스에 대해서 알아보겠습니다. Go에서는 배열보다 슬라이스를 자주 사용하지만 슬라이스 밑에는 배열이 존재하고 있습니다. 따라서 배열을 먼저 배우고 슬라이스와 어떤관계에 있는지 알아보겠습니다. 위 사진은 길이가 5인 배열입니다. go에서 위 배열 및 기타 코드를 작성하겠습니다. package main import ( "fmt" ) func main () { // 배열 생성하기 arr := [ 5 ] int { 1 , 2 , 3 , 4 , 5 } fmt. Println (arr) // 해당 배열 출력 for i , v := range arr { fmt. Println (i, v) // 인덱스와 배열값을 1줄씩 출역 } var x int = 3 fmt. Printf ( " %d 인덱스의 배열값은 : %d \n " , x, arr[x]) arr[x] = 10 fmt. Printf ( " %d 인덱스에 변경된 배열값은 : %d \n " , x, arr[x]) fmt. Printf ( "배열 길이 : %d , 배열의 용량 : %d \n " , len (arr), cap (arr)) fmt. Printf ( "원소의 타입 : %T \n " , arr[ 0 ]) } 위 코드를 실행한 결과를 확인하면 배열의 인덱스는 0부터 시작이 되고 4에서 끝납니다. 따라서 값 4를 배열에서 출력할려면 인덱스3을 입력해야 합니다. 그런데 일반적으로 배열은 처음 배열을 만들때 정한 길이에서 더이상 늘어나지 않습니다.(만약 더 넣고 싶다면 길이가 더 긴 배열을 만들어서 해당값을 넣어야 합니다.) 하지만 슬라이스를 이용하면 이러한 불편함을 덜수 있습니다. package main import ( ...