๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Data Base/Go

[์‰ฝ๊ณ  ๋น ๋ฅธ Go ์‹œ์ž‘ํ•˜๊ธฐ] #1.9 Arrays and Slice

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 10. 29.
๋ฐ˜์‘ํ˜•

[์ถœ์ฒ˜ - Nomad Coders]

 

 

 

Go ์—์„œ๋Š” Array๋ฅผ ๋งŒ๋“œ๋ ค๋ฉด Array์˜ ๊ธธ์ด๋ฅผ ๋ช…์‹œํ•ด ์ค˜์•ผ ํ•œ๋‹ค.

names := [5]string{"nico", "lynn", "dal"}

[] ์•ˆ์— length๋ฅผ ๋ช…์‹œํ•ด์ฃผ์—ˆ๋‹ค.

 

 

names[0~4] ๊นŒ์ง€์ธ๋ฐ names[5]๋กœ ์„ ์–ธํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

 

 

 

์œ„์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ Slice ์ธ๋ฐ, Go ์—์„œ์˜ Slice๋Š” Array๋ž‘ ๋น„์Šทํ•˜๋‹ค.

ํ•˜์ง€๋งŒ Slice๋Š” length ์—†์ด๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์›ํ•œ๋‹ค๋ฉด ์š”์†Œ๋ฅผ ๋” ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

 

Slice์˜ ์‚ฌ์šฉ๋ฒ•

names := []string{"nico", "lynn", "dal"}

๊ทธ๋ƒฅ [] ์•ˆ์— length๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š์œผ๋ฉด ๋˜๋Š”๋“ฏ.

 

 

 

Slice ์— item์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ append()๋ผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.

append๋Š” 2๊ฐœ์˜ arguments๋ฅผ ์š”๊ตฌํ•œ๋‹ค.

์ฒซ๋ฒˆ์งธ argument๋Š” slice์ด๊ณ  ๋‘๋ฒˆ์งธ๋Š” ๋‚ด๊ฐ€ ์ถ”๊ฐ€ ํ•˜๊ณ ์‹ถ์€ ๊ฐ’์ด๋‹ค.

package main

import "fmt"

func main() {
	names := []string{"nico", "lynn", "dal"}
	names = append(names, "flynn")
	fmt.Println(names)
}

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€