[์ถ์ฒ - Nomad Coders]
function์ ๊ธฐ๋ณธ์ ์ธ Type์ string ์ด๋ bool(Boolean) ์ด๋ค.
๊ทธ ์ธ์ ์ซ์๋ฅผ ์ํ ์ฌ๋ฌ ์ข ๋ฅ์ Type๋ค์ด ์๋ค.
์ด๋ฒ ๊ฐ์์์ int๋ฅผ ์ฌ์ฉํด ๋ณผ ๊ฒ์ด๋ค.
๋จผ์ ๊ณฑ์ ์ ์ํ ํจ์๋ฅผ ๋ง๋ค์ด ๋ณด์.
Type ์ง์ ์ ์ ํด์ค์ ์๋ฌ๊ฐ ๋ฌ ๊ฒ์ ๋ณผ ์ ์๋ค.
TypeScript๋ฅผ ์ฌ์ฉํ ๋ถ๋ค์ด๋ผ๋ฉด ์ต์ํ ๊ฒ์ด๋ค.
์๋ฌ๊ฐ ๋จ์ง ์๊ฒ ํ๊ธฐ ์ํด์ ์๋์ ๊ฐ์ด ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ค.
package main
import "fmt"
func multiply(a int, b int) int { // (a, b int) ๋ก๋ ๊ฐ๋ฅ
return a * b
}
func main() {
fmt.Println(multiply(2, 2))
}
๊ทธ๋ฆฌ๊ณ return์ Type ๊ฐ๋ ๋ช ์ํด์ค์ผํ๋ค.
๐ฟ multiple value๋ฅผ ๋ฐํํ๋ function์ ๋ง๋๋ ๋ฐฉ๋ฒ
๋, function์ ์ฌ๋ฌ ๊ฐ์ return ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
(์ด๊ฒ์ด Go์ ์์ฃผ ์์ํ(?) ๋ถ๋ถ์ด๋ผ๊ณ ํ๋ค.)
package main
import (
"strings" // Go์์๋ ๋ชจ๋ ๊ฒ package๋ค.
)
func lenAndUpper(name string) (int, string) { // ๋ ๊ฐ์ง Type์ผ๋ก return ๋ฐ์ ์ ์๋ค.
return len(name), strings.ToUpper(name)
}
func main() {
totalLength, upperName := lenAndUpper("nico")
}
ํ์ง๋ง Go์์๋ ๋ฌด์์ธ๊ฐ๋ฅผ ๋ง๋ค๊ณ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค.
๊ทธ๋์ ์๋์ฒ๋ผ ์ฌ์ฉ์ ํด์ผ ์๋ฌ๊ฐ ์์๊ธด๋ค.
๋ง์ผ 2๊ฐ์ return ๊ฐ์ ๋ฐ๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๋๋ฐ 1๊ฐ์ return ๊ฐ๋ง ๋ฐ๊ณ ์ถ๋ค๋ฉด
_(underscore)๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
_(underscore)๋ ๋ฌด์๋ value๋ค.
func main() {
totalLength, _ := lenAndUpper("nico")
fmt.Println(totalLength)
}
๋ ํ๋ ์์์ผ ํ ๊ฒ์ arguments๋ค.
์ฌ๋ฌ ๊ฐ์ arguments๋ฅผ ํธ์ถํ๊ณ ์ถ๋ค๋ฉด ... ์ ์ ์ด์ฃผ๋ฉด ๋๋ค.
package main
import (
"fmt"
)
func repeatMe(words ...string) {
fmt.Println(words)
}
func main() {
repeatMe("nico", "lynn", "dal", "marl", "flynn")
}
'Data Base > Go' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ฝ๊ณ ๋น ๋ฅธ Go ์์ํ๊ธฐ] #1.5 for, range, ...args (0) | 2021.10.26 |
---|---|
[์ฝ๊ณ ๋น ๋ฅธ Go ์์ํ๊ธฐ] #1.4 Functions part Two (0) | 2021.10.26 |
[์ฝ๊ณ ๋น ๋ฅธ Go ์์ํ๊ธฐ] #1.2 Variables and Constants (0) | 2021.10.26 |
[์ฝ๊ณ ๋น ๋ฅธ Go ์์ํ๊ธฐ] #1.0 Main Package (0) | 2021.10.26 |
[Golang] main.go (0) | 2021.10.26 |
๋๊ธ