//자료형 : 배열(1)
package main
import "fmt"
func main() {
//배열
//배열은 용량, 길이 항상 같다.
//배열 vs 슬라이스 차이점 중요
//길이 고정 vs 길이 가변
//값 타입 vs 참조 타입
//복사 전달 vs 참조 값 전달
//전체 비교연산자 사용 가능 vs 비교 연산자 사용 불가
//대 부분 슬라이스 사용한다.
//cap() : 배열, 슬라이스 용량
//len() : 배열, 슬라이스 개수
//예제1
var arr1 [5]int
var arr2 [5]int = [5]int{1, 2, 3, 4, 5}
var arr3 = [5]int{1, 2, 3, 4, 5}
arr4 := [5]int{1, 2, 3, 4, 5}
arr5 := [5]int{1, 2, 3} //기본 0 초기화
arr6 := [...]int{1, 2, 3, 4, 5}
arr7 := [5][5]int{
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10}, //콤마 주의
}
arr1[2] = 5 //값 삽입
fmt.Printf("%-5T %d %v\n", arr1, len(arr1), arr1)
fmt.Printf("%-5T %d %v\n", arr2, len(arr2), arr2)
fmt.Printf("%-5T %d %v\n", arr3, len(arr3), arr3)
fmt.Printf("%-5T %d %v\n", arr4, len(arr4), arr4)
fmt.Printf("%-5T %d %v\n", arr5, len(arr5), arr5)
fmt.Printf("%-5T %d %v\n", arr6, len(arr6), arr6)
fmt.Printf("%-5T %d %v\n", arr7, len(arr7), arr7)
//예제2
arr8 := [5]int{1, 2, 3, 4, 5}
arr9 := [5]int{ //여러 줄 선언 콤마 주의
1,
2,
3,
4,
5,
}
arr10 := [...]string{"Kim", "Lee", "Park"}
fmt.Printf("%-5T %d %v\n", arr8, len(arr8), arr8)
fmt.Printf("%-5T %d %v\n", arr9, len(arr9), arr9)
fmt.Printf("%-5T %d %v\n", arr10, len(arr10), arr10)
}