Go 언어 6강 - 배열과 슬라이스

 

📘 Go 언어 6강 - 배열과 슬라이스

이번 시간에는 배열(array)슬라이스(slice)를 배웁니다.
Go에선 배열보다 슬라이스를 더 많이 사용하며, 유연성과 성능 모두 뛰어납니다.

1️⃣ 배열 선언과 초기화

var a [3]int
a[0] = 1
a[1] = 2
a[2] = 3

b := [3]int{4, 5, 6}

fmt.Println(a) // [1 2 3]
fmt.Println(b) // [4 5 6]

배열은 길이가 고정되므로 유연성이 떨어져요.

2️⃣ 슬라이스 선언

nums := []int{10, 20, 30}
fmt.Println(nums) // [10 20 30]

슬라이스는 내부적으로 배열을 참조하며, 길이를 자동 관리해줍니다.

3️⃣ append로 슬라이스 확장

nums := []int{1, 2}
nums = append(nums, 3, 4)
fmt.Println(nums) // [1 2 3 4]

4️⃣ 슬라이스 잘라쓰기 (slicing)

data := []int{1, 2, 3, 4, 5}
sub := data[1:4] // index 1~3까지
fmt.Println(sub) // [2 3 4]

💡 예제 1: 슬라이스 반복 출력

fruits := []string{"사과", "바나나", "포도"}

for i, fruit := range fruits {
    fmt.Printf("%d: %s\n", i, fruit)
}

💡 예제 2: 슬라이스에 값 추가하고 총합 계산

numbers := []int{1, 2, 3}
numbers = append(numbers, 4, 5)

sum := 0
for _, n := range numbers {
    sum += n
}

fmt.Println("총합:", sum) // 15

🧠 요약

  • 배열: 고정 길이, 기본 자료형
  • 슬라이스: 배열을 감싸는 구조로, 실전에서 많이 사용
  • append, slicing, range 등과 잘 어울림

한 줄 요약: "슬라이스는 Go에서 가장 많이 쓰이는 컬렉션입니다!"