์ผ๊ธ‰ ํ•จ์ˆ˜

  • parameter๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ
  • return ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ
  • ์ต๋ช…ํ•จ์ˆ˜

argument label

  • ํ˜ธ์ถœํ•˜๋Š” ์ชฝ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„

parameter name

  • function ์•ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„

Variadic parameters

  • 0๊ฐœ ์ด์ƒ์˜ ํŠน๋ณ„ํ•œ ํƒ€์ž…์„ ๋‚˜์—ดํ•ด์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„˜๊ธธ ์ˆ˜ ์žˆ์Œ
  • ...์„ ๋„ฃ์–ด์„œ ์‚ฌ์šฉ
  • ์ด๋ ‡๊ฒŒ ์„ ์–ธ๋œ ๊ฒฝ์šฐ ํ•จ์ˆ˜์•ˆ์—์„œ ํ•ด๋‹น type์˜ Array๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
     

func sum(values: Intโ€ฆ) โ†’ Int { var result = 0

for value in values {
	result += value
}

return result

}

sum(10, 20, 30) // 60 ```

inout parameters

  • ์ผ๋ฐ˜์ ์œผ๋กœ ํ•จ์ˆ˜์— ์ „๋‹ฌ๋œ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๋ณ€๊ฒฝ์€ ํ•จ์ˆ˜์•ˆ์—์„œ๋งŒ ์œ ํšจ
  • ํ•˜์ง€๋งŒ function์—์„œ ๋ฐ”๊นฅ์ชฝ ๊ฐ’์„ ๋ฐ”๊ฟ”์•ผํ•  ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ (swap)
  • inout์œผ๋กœ ์„ ์–ธ๋œ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ณ€ํ™”๊ฐ€ ํ˜ธ์ถœ๋œ ์ชฝ์— ๋ฐ˜์˜๋จ