
์๋
ํ์ธ์. ๊ฐ๋ฐ์ ๋ชจ๋๋ฆฌ์
๋๋ค.
The Go Programming Language ๋ผ๋ ์ฑ
์ผ๋ก Go๋ฅผ ๊ณต๋ถํ๊ณ ์์ผ๋ฉฐ, ํด๋น ์ฑ
์ ๋ด์ฉ์ ์์ฝ ์ ๋ฆฌํด์ ์ฌ๋ฆฌ๋ ค๊ณ ํฉ๋๋ค. ์ ๋ ๋ฒ์ญ๋ณธ์ ๊ตฌ๋งคํด์ ๊ณต๋ถํ๊ณ ์์ต๋๋ค.
์์ ์ฝ๋ ๋ผ๊ณ ๋์ค๋ ๊ฒ๋ค์ https://github.com/modolee/tgpl.git ์์ ๋ค์ด ๋ฐ์ผ์ค ์ ์์ต๋๋ค.
์ง๋ ๊ฒ์๋ฌผ
2์ฅ ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ
2.1 ์ด๋ฆ
- Go์ ํจ์, ๋ณ์, ์์, ํ์
, ๊ตฌ๋ฌธ ๋ผ๋ฒจ, ํจํค์ง ๋ฑ์ ์ด๋ฆ์ ๊ฐ๋จํ ๊ท์น์ ๋ฐ๋ฆ
๋๋ค.
- ๋ฌธ์(์ ๋์ฝ๋์์ ๋ฌธ์๋ก ๊ฐ์ฃผํ๋ ๊ฒ ๋ชจ๋)๋ ๋ฐ์ค๋ก ์์ํ๊ณ , ๊ทธ ๋ค์ ์์์ ๊ฐ์์ ๋ถ๊ฐ์ ์ธ ๋ฌธ์, ์ซ์, ๋ฐ์ค์ ์ธ ์ ์์ต๋๋ค.
- ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ณํฉ๋๋ค. (heapSort์ Heapsort๋ ๋ค๋ฅธ ์ด๋ฆ์
๋๋ค.)
๋ฌธ๋ฒ ์ ํ์ฉ๋ 25๊ฐ ํค์๋
- ๋ค์ ํค์๋๋ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
break | default | func | interface | select
case | defer | go | map | struct
chan | else | goto | package | switch
const | fallthrough | if | range | type
continue | for | import | return | var
์ด๋ฏธ ์ ์ ๋ ๋ด์ฅ ์์, ํ์
, ํจ์์ ์ด๋ฆ 30๊ฐ
- ์์ฝ์ด๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์ ์ธ์์ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ด๋ฌํ ์ด๋ฆ์ ์ฌ์ ์ํ๋ ๊ฒ์ด ์ ์ฉํ ์ผ๋ถ ๊ฒฝ์ฐ๊ฐ ์์ง๋ง ๋์ค์ ํผ๋ ๋ ์ ์๋ค๋ ์ ์ ์ฃผ์ํด์ผ ํฉ๋๋ค.
- ํจ์ ์์ ์ ์ธ ๋ ๊ฒฝ์ฐ ์ด ์ด๋ฆ์ ํจ์ ๋ด๋ก ๊ตญํ๋ฉ๋๋ค.
- ํจ์ ๋ฐ์์ ์ ์ธํ๋ฉด ์ด๋ฆ์ด ์ํ๋ ํจํค์ง์ ๋ชจ๋ ํ์ผ์์ ๋ณผ ์ ์์ต๋๋ค.
- ์ด๋ฆ ์ฒซ ๊ธ์์ ๋์๋ฌธ์ ์ฌ๋ถ๋ก ํจํค์ง ๊ฐ์ ๊ฐ์์ฑ์ ๊ฒฐ์ ํฉ๋๋ค. ์ด๋ฆ์ด ๋๋ฌธ์๋ก ์์ํ๋ฉด export ๋์ด ์์ ์ ํจํค์ง ๋ฐ์์ ๋ณด๊ฑฐ๋ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, fmt์ Printf์ ๊ฐ์ด ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ๋ถ๋ถ์์๋ ์ฐธ์กฐํ ์ ์์ต๋๋ค.
- ํจํค์ง๋ช
์์ฒด๋ ํญ์ ์๋ฌธ์์
๋๋ค.
์์
true | false | iota | nil
ํ์
int | int8 | int16 | int32 | int64
uint | uint8 | uint16 | uint32 | uint64 | uintptr
float32 | float64 | complex128 | complex64
bool | byte | rune | string | error
ํจ์
make | len | cap | new | append | copy | close | delete
complex | real | imag
panic | recover
์ด๋ฆ์ ๊ธธ์ด
- ์ด๋ฆ์ ๊ธธ์ด์๋ ์ ํ์ด ์์ง๋ง Go ํ๋ก๊ทธ๋จ์์์ convention๊ณผ style์ ์งง์ ์ด๋ฆ์ ์ ํธํ๋ฉฐ, ํนํ ์ข์ ๋ฒ์๋ฅผ ๊ฐ๋ ์ง์ญ ๋ณ์์์๋ ๋ ๊ทธ๋ ์ต๋๋ค. (theLoopIndex ๋ณด๋ค๋ i ๊ฐ์ ๋ณ์๋ฅผ ๊ถ์ฅํฉ๋๋ค.)
- ์ผ๋ฐ์ ์ผ๋ก ๋ฒ์๊ฐ ํด์๋ก ์ด๋ฆ์ด ๋ ๊ธธ๊ณ ์๋ฏธ๊ฐ ์์ด์ผ ํฉ๋๋ค.
ํ๊ธฐ๋ฒ
- ๋จ์ด๋ฅผ ์กฐํฉํด ์ด๋ฆ์ ์ง์ ๋ CamelCase๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฆ, ๋จ์ด ์ฐ๊ฒฐ ์ ๋ฐ์ค๋ณด๋ค๋ ๋๋ฌธ์๋ฅผ ๋ ์ ํธํฉ๋๋ค.
- ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ QuoteRuneToASCII๋ parseRequestLine ๋ฑ์ ํจ์๋ช
์ ์์ง๋ง, quote_rune_to_ASCII๋ prase_request_line ๊ฐ์ ํจ์๋ช
์ ์์ต๋๋ค.
- ASCII๋ HTML ๊ฐ์ ์ฝ์ด๋ ๋๋ฌธ์๋ ํญ์ ๋์ผํ ๋๋ฌธ์๋ ์๋ฌธ์๋ก ํ๊ธฐํ์ฌ htmlEscape, HTMLEscape, escapeHTML ๋ฑ์ผ๋ก ํธ์ถํ๊ณ escapeHtml ๋ก๋ ํธ์ถํ์ง ์์ต๋๋ค.
์ด์ด๋ณด๊ธฐ
[The Go Programming Language] 2์ฅ ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ - 2.2 ์ ์ธ