Menu
Coddy logo textTech

슬라이스에 요소 추가하기

Coddy의 Golang의 슬라이스와 맵 코스 레슨 — 21개 중 3번째.

지난 레슨에서 우리는 슬라이스와 배열의 차이점이 크기에 있으며, 이는 길이를 확인할 때 분명해진다는 점을 논의했습니다.

예를 들어, 다음과 같이 슬라이스를 정의하면:

nums := []int{23, 5, 6}

슬라이스에는 세 개의 요소가 있으며, <strong>len()</strong> 함수를 사용하여 길이를 확인하면 3이 나옵니다:

nums := []int{23, 5, 6}
fmt.Println(len(nums)) // 3

슬라이스에 요소를 추가하고 크기를 확인하면 새로운 크기를 얻게 됩니다:

nums := []int{23, 5, 6, 9, 22}
fmt.Println(len(nums)) // 5

반대로, 배열은 고정된 크기를 가집니다. 예를 들어:

nums := [4]int{23}
fmt.Println(len(nums)) // 4

요소가 4개보다 적더라도 길이는 고정된 상태로 유지됩니다.

슬라이스에 요소를 추가하는 것은 <strong>append</strong>를 사용하여 수행됩니다:

books := []string{"Python", "Rust"}
books = append(books, "Golang")
fmt.Println(books)

이를 실행하면 다음과 같은 결과가 나옵니다:

[Python Rust Golang]

Golang에서 슬라이스는 내장 함수와 함께 제공되며, <strong>append()</strong>는 그 중 하나로 기존 슬라이스에 새로운 요소를 추가할 수 있게 해줍니다.

슬라이스의 동적인 크기 때문에 인덱스를 사용하여 요소를 추가할 수 없다는 점에 유의하세요 ( <strong>books[2] = "Golang"</strong>은 작동하지 않습니다).

challenge icon

챌린지

쉬움

사용자로부터 3개의 입력을 받아 주어진 코드에 정의된 <strong>coddy</strong>라는 이름의 슬라이스에 추가하는 프로그램을 작성하세요. 다음 단계를 수행하세요:

  1. 요소를 추가하기 전 슬라이스길이를 출력합니다.
  2. 슬라이스에 요소를 추가합니다.
  3. 요소를 추가한 후 슬라이스와 업데이트된 길이를 출력합니다 (각각 다른 줄에).

직접 해보기

package main

import "fmt"

func main() {
    // 사용자로부터 입력을 받으세요. 이 부분을 변경하지 마세요!
    var first, second, third string
	fmt.Scan(&first)
	fmt.Scan(&second)
	fmt.Scan(&third)
	// 슬라이스 정의
    coddy := []string {"SQL","Rust","C#","Golang"}
    // 길이 출력
    
    // 슬라이스에 요소 추가
    
    // 슬라이스와 업데이트된 길이 출력

}

Golang의 슬라이스와 맵의 모든 레슨