슬라이스에 요소 추가하기
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>은 작동하지 않습니다).
챌린지
쉬움사용자로부터 3개의 입력을 받아 주어진 코드에 정의된 <strong>coddy</strong>라는 이름의 슬라이스에 추가하는 프로그램을 작성하세요. 다음 단계를 수행하세요:
- 요소를 추가하기 전 슬라이스의 길이를 출력합니다.
- 슬라이스에 요소를 추가합니다.
- 요소를 추가한 후 슬라이스와 업데이트된 길이를 출력합니다 (각각 다른 줄에).
직접 해보기
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"}
// 길이 출력
// 슬라이스에 요소 추가
// 슬라이스와 업데이트된 길이 출력
}