Skip to content
Donghyun Yun edited this page Feb 9, 2017 ยท 40 revisions

https://golang.org/doc/ ๋ฌธ์„œ์˜ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ ๋ฌธ์„œ ์ž…๋‹ˆ๋‹ค.

Go ์–ธ์–ด ๋ฌธ์„œ

Go ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์˜ ์ƒ์‚ฐ์„ฑ์„ ๋†’์—ฌ ์ฃผ๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

Go ์–ธ์–ด๋Š” ํ‘œํ˜„๋ ฅ์ด ์žˆ๊ณ , ๊ฐ„๊ฒฐํ•˜๊ณ , ๊น”๋”ํ•˜๊ณ , ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. Go์˜ ๋™์‹œ์„ฑ(concurrency) ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๋ฉ€ํ‹ฐ์ฝ”์–ด, ๋„คํŠธ์› ๋ถ„์‚ฐ ๋จธ์‹ ๋“ค์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์†์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋ฉฐ, Go์˜ ๋…ธ๋ธ”(novel) ํƒ€์ž… ์‹œ์Šคํ…œ์€ ์œ ์—ฐํ•˜๊ณ  ๋ชจ๋“ˆ์‹ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. Go๋Š” ๊ธฐ๊ณ„์ฝ”๋“œ๋กœ ๋น ๋ฅด๊ฒŒ ์ปดํŒŒ์ผ ๋˜์ง€๋งŒ, ๊ฐ€๋น„์ง€ ์ปฌ๋ž™์…˜์˜ ํŽธ์˜์„ฑ๊ณผ ๋Ÿฐํƒ€์ž„ ๋ฆฌํ”Œ๋ž™์…˜(reflection) ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Go๋Š” ๋น ๋ฅธ, ์ •์ ํƒ€์ž…์˜ ์ปดํŒŒ์ผ๋˜๋Š” ์–ธ์–ด์ด์ง€๋งŒ, ๋™์  ํƒ€์ž…์˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์ฒ˜๋Ÿผ ๋А๊ปด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Go ์„ค์น˜ํ•˜๊ธฐ

Go ์ปดํŒŒ์ผ๋Ÿฌ, ๋„๊ตฌ๋“ค, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์ธ์Šคํ†จ ํ•˜๊ธฐ ์œ„ํ•œ ์„ค๋ช…์„œ.

Go ํ•™์Šตํ•˜๊ธฐ

Go ์–ธ์–ด์— ๋Œ€ํ•œ ๋Œ€ํ™”์‹ ์„ค๋ช…์ด 3๊ฐœ์˜ ์„น์…˜์„ ํ†ตํ•ด ์ด๋ค„์ง‘๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ ์„น์…˜์—์„œ๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•๊ณผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋‹ค๋ฃจ๊ณ , ๋‘๋ฒˆ์งธ ์„น์…˜์—์„œ๋Š” ๋ฉ”์†Œ๋“œ์™€ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์„ธ๋ฒˆ์งธ ์„น์…˜์—์„œ๋Š” ๋™์‹œ์„ฑ์˜ ๊ธฐ๋ณธ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๊ฐ ์„น์…˜์˜ ๋งˆ์ง€๋ง‰์—๋Š” ๋ช‡๊ฐ€์ง€ ์—ฐ์Šต ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋‹ˆ ์‹ค์Šต์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ๋Š” ์˜จ๋ผ์ธ์—์„œ ๋ณผ ์ˆ˜๋„ ์žˆ๊ณ , ๋กœ์ปฌ ์ปดํ“จํ„ฐ์— ์„ค์น˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

screencast๋กœ๋„ ๊ฐ€๋Šฅํ•œ ์ด ๋ฌธ์„œ๋Š” go command ๋ฅผ ์ด์šฉํ•ด ํŒจํ‚ค์ง€๋“ค์„ ๊ฐ€์ ธ์˜ค๊ณ  ๋นŒ๋“œํ•˜์—ฌ ์ธ์Šคํ†จํ•˜๋Š” ๋ฐฉ๋ฒ•, ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ , ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ๋Š” ๊น”๋”ํ•˜๊ณ  ๊ด€๋ก€์— ๋งž๋Š” Go ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด Go ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ผญ ์ฝ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ๋Š” Go ๋‘˜๋Ÿฌ๋ณด๊ธฐ์™€ ์–ธ์–ด ์ŠคํŒฉ์— ๋Œ€ํ•œ ๋ณด์ถฉ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Go ์–ธ์–ด ๋‘˜๋Ÿฌ๋ณด๊ธฐ์™€ ์–ธ์–ด ์ŠคํŒฉ์„ ๋จผ์ € ๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Go ์–ธ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€๋“ค.

Go ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์œ„ํ‚ค ๋ฌธ์„œ.

๋”๋ณด๊ธฐ

๋ณด๋‹ค ๋งŽ์€ Go ํ•™์Šต ์ž๋ฃŒ๊ฐ€ Wiki ์˜ Learn ํŽ˜์ด์ง€์— ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ  ๋ฌธ์„œ

Go ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค๋ช… ๋ฌธ์„œ.

Go ๋„๊ตฌ๋“ค ์„ค๋ช… ๋ฌธ์„œ.

Go ์–ธ์–ด ์ŠคํŒฉ ๊ณต์‹ ๋ฌธ์„œ.

์–ด๋–ค Go๋ฃจํ‹ด(goroutine) ์—์„œ ๋‹ค๋ฅธ Go๋ฃจํ‹ด์—์„œ ๊ฐฑ์‹ ํ•˜๋Š” ๋ณ€์ˆ˜๋ฅผ ์ ์ ˆํžˆ ์ฝ๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด๋“ค์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค.

Go ์–ธ์–ด ๋ฐฐํฌ ๋ฒ„์ „๋“ค์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์ž…๋‹ˆ๋‹ค.

์ฝ์„ ๊ฑฐ๋ฆฌ

Go ๊ฐœ๋ฐœํŒ€ ๋ฐ ๊ฒŒ์ŠคํŠธ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์†Œ์‹๊ณผ ๊นŠ์ด ์žˆ๋Š” ๊ธฐ์‚ฌ๋“ค์ด ์žˆ๋Š” ๊ณต์‹ ๋ธ”๋กœ๊ทธ.

์ฝ”๋“œ ๊ฐ€์ด๋“œ

Go ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐ€์ด๋“œ ํˆฌ์–ด

์–ธ์–ด ์„ค๋ช…

ํŒจํ‚ค์ง€ ์„ค๋ช…

๋„๊ตฌ๋“ค

๋”๋ณด๊ธฐ

๋” ๋งŽ์€ Go ์ฝ์„ ๊ฑฐ๋ฆฌ๋“ค์€ Wiki ์˜ Articles ํŽ˜์ด์ง€์— ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ•์—ฐ

Go ๋ฅผ ๋น ๋ฅด๊ฑฐ ์žฌ๋ฏธ์žˆ๊ณ  ์ƒ์‚ฐ์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ์„ธ ๊ฐ€์ง€: ์ธํ„ฐํŽ˜์ด์Šค ๋ฆฌํ”Œ๋ ‰์…˜,๋™์‹œ์„ฑ. ์ด ์„ธ ๊ฐ€์ง€๋ฅผ ์ด์šฉํ•ด ๊ฐ„๋‹จํ•œ ์›นํฌ๋กค๋Ÿฌ๋ฅผ ๋งŒ๋“ค์–ด ๋ด…๋‹ˆ๋‹ค.

Go ์˜ ํ•ต์‹ฌ ๋””์ž์ธ ๋ชฉํ‘œ ์ค‘์— ํ•˜๋‚˜๋Š” ์ฝ”๋“œ ์ ์‘์„ฑ์ž…๋‹ˆ๋‹ค: ์‹ฌํ”Œํ•œ ๋””์ž์ธ์„ ๋งŒ๋“ค๊ณ  ๊ฑฐ๊ธฐ์— ๊ธฐ๋ฐ˜ํ•ด ๊น”๋”ํ•˜๊ณ  ์ž์—ฐ์Šค๋Ÿฌ์šด ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ด ๋™์˜์ƒ์—์„œ Andrew Gerrand ๋Š” TCP ์ ‘์† ํŽ˜์–ด๋“ค์— ์—ฐ๊ฒฐ๋˜๋Š” ๊ฐ„๋‹จํ•œ "์ฑ„ํŒ… ๋ฃฐ๋ ›" ์„œ๋ฒ„๋ฅผ ์„ค๋ช…ํ•˜๊ณ  Go์˜ ๋™์‹œ์„ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜, ์ธํ„ฐํŽ˜์ด์Šค, ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๋“ค๋กœ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋Šฅ์ด ๋“œ๋ผ๋งˆํ‹ฑํ•˜๊ฒŒ ๋ณ€ํ•˜๋Š” ๊ณผ์ •์—์„œ, Go์˜ ์œ ์—ฐ์„ฑ์€ ํ”„๋กœ๊ทธ๋žจ์ด ์„ฑ์žฅํ•˜๋ฉด์„œ๋„ ์ตœ์ดˆ์˜ ๋””์ž์ธ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

๋™์‹œ์„ฑ์€ ๊ณ ์„ฑ๋Šฅ์˜ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. Go ๋™์‹œ์„ฑ์˜ ๊ธฐ๋ณธ(Go๋ฃจํ‹ด๊ณผ ์ฑ„๋„)์€ ๋™์‹œ ์‹คํ–‰์„ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ๋‹จ์ˆœํ•˜๊ณ  ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๋™์˜์ƒ์—์„œ ๋‹จ์ˆœํ•œ Go ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•ด ๊นŒ๋‹ค๋กœ์šด ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋งค๋„๋Ÿฝ๊ฒŒ ํ’€์–ด๊ฐ€๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ๋ณด๊ธฐ

๋” ๋งŽ์€ ํ† ํฌ ์˜์ƒ๋“ค์€ wiki ํŽ˜์ด์ง€์˜ Go Talk site ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„์˜์–ด๊ถŒ ๋ฌธ์„œ

๋‹ค๋ฅธ ์ง€์—ญ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ๋ฌธ์„œ๋“ค์€ Wiki ์˜ NonEnglish ํŽ˜์ด์ง€์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


์•„๋ž˜๋Š” golang.org/doc/ ๋ฌธ์„œ์˜ ๋ฒˆ์—ญ์ด ์•„๋‹Œ ๋ณ„๋„๋กœ ์ถ”๊ฐ€๋œ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

ํ•œ๊ตญ์–ด ์ž๋ฃŒ ๋” ๋ณด๊ธฐ

์ด ์ฑ…์€ An Introduction to Programming in Go(2012) ์˜ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญํŒ์ž…๋‹ˆ๋‹ค.

gobyexample.com ์˜ ํ•œ๊ตญ์–ด ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

jan.newmarch.name/go/ ๋ฌธ์„œ์˜ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.

Golang Korean Community ์˜ Go ๊ด€๋ จ ์ฐธ๊ณ  ๋ฌธ์„œ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ๊ตญ์–ด ์ปค๋ฎค๋‹ˆํ‹ฐ

ํ•œ๊ตญ์˜ Go ์–ธ์–ด ์‚ฌ์šฉ์ž Facebook ๊ณต๊ฐœ ๊ทธ๋ฃน์ž…๋‹ˆ๋‹ค.

GDG Golang Korea๋Š” ํ•œ๊ตญ์˜ Go ์–ธ์–ด ์‚ฌ์šฉ์ž ๋ชจ์ž„์˜ ๊ตฌ๊ธ€ํ”Œ๋Ÿฌ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ์ž…๋‹ˆ๋‹ค.

Clone this wiki locally