[Go] Mordern Go ๊ธฐ๋ณธ2(ํจ์, ์ธํฐํ์ด์ค, ๋ฉ์๋, ์๋ฌ)
ํจ์โ ์ฌ๋ฌ๊ฐ ๋ฐํ๊ฐfunc divmod(a, b int) (int, int) { return a / b, a % b}q, r := divmod(10, 3) // q=3, r=1โ ์ด๋ฆ ์๋ ๋ฐํ๊ฐfunc sum(a, b int) (result int) { result = a + b return // ์ด๋ฆ ์์ผ๋ฉด return ์ ๋ณ์ ์๋ต ๊ฐ๋ฅ}โ ํจ์๋ ์ผ๊ธ๊ฐ์ฒดfunc operate(a, b int, f func(int, int) int) int { return f(a, b)}sum := func(x, y int) int { return x + y } // ๋๋คresult := operate(3, 4, sum) // 7โ ๋๋ค(์ต๋ช
ํจ์)result := func(x int..
2025. 5. 21.
[Go] Modern Go ๊ธฐ๋ณธ
๋ค์ด๊ฐ๋ฉฐGo์ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด ๋ฌธ๋ฒ์ ๋ํด์ ๋ค๋ฃจ์ง๋ ์์ต๋๋ค. ํ ์ธ์ด์ ๋น๊ตํ์ ๋ ์ด๋ค ํธ๋ฆฌํ ์ ๊ณผ ์ฐจ์ด๊ฐ ์๋์ง ๊ฐ๋จํ ์ง์ด๋ณด๊ฒ ์ต๋๋ค. ๋ณ์์ ์ ํ์
: int8/16/32/64, uint8/16/32/64, int, uint, runerune: UTF-8์ธ์ฝ๋ฉ์ ์ ๋์ฝ๋ ์ฝ๋ ํฌ์ธํธ๋ฅผ ํ์ํ๋ ์ ์๊ธฐ๋ณธ๊ฐ: ์ ์ 0, ์ค์ 0.0, ๋ถ๋ฆฌ์ธ false, ๋ฌธ์์ด “”, ๊ทธ์ธ nil์์์ ํ์
๋ณํ ํ์ฉX์ค์ ๋น๊ต์ math.Nexafter๋ก ๋น๊ตํ๋ฉด ํธ๋ฆฌa, b = b, a ์ค์iota๋ก ์ด๊ฑฐ๊ฐ ์ฌ์ฉconst ( Red int = iota // 0 Blue int = iota // 1 Green int = iota // 2 Yellow int ..
2025. 5. 21.
[Go] Golang ๊ธฐ๋ณธ ์๊ฐ(ํ์
, ๋ณ์, ํจ์, ๋ฌธ๋ฒ)
โ
ํ์
go์ธ์ด๋ ์ธ์ด์ฐจ์์ ํค์๋๊ฐ 25๊ฐ๋ฐ์ ์๋ค. ๋ค๋ฅธ ์ธ์ด์ ๋น๊ตํ๋ฉด ํ์คํ ์ ์ ๊ฒ์ ์ ์์๋ค. ์๋ฃํ์ ์ ์(int, uint), ์ค์(float), ๋ฌธ์/๋ฌธ์์ด(string), ๋ถ๋ฆฌ์ธ(bool), ๋ฐ์ดํธ(byte), rune(int32์ ๊ฐ์), complex(64, 32)๊ฐ ์๋ค. โ
๋ณ์ ๋ณ์ ์ ์ธ์ ๋ค์๊ณผ ๊ฐ๋ค. var x int = 10 var arr [5]int // ๋ฐฐ์ด var p *int // ํฌ์ธํฐ const C int = 10 // ์์ ์ ์ธ ๋ณ์ x๋ intํ์ด๋ค ๋ผ๊ณ ์๊ฐํ์. ๐งจ ์๋ฃํ ์ถ๋ก var i = 10 var p = &i i := 10 p := &i ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฃ๋ฅผ ์ถ๋ก ํ๋ค. var๋ผ๋ ํค์๋ ์ญ์ :=์ผ๋ก ๋์ฒดํ ์ ์๋ค. ๐งจ ๋ณ์์ ํฌ๊ธฐ C ์ธ์ด์ si..
2023. 4. 16.