[Go] generate

go generate๋Š” go์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฉ”ํƒ€ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ˆ˜๋‹จ ์ค‘ ํ•˜๋‚˜๋‹ค.
go๊ฐ€ ์ด์ „๋ถ€ํ„ฐ ์ œ๋„ˆ๋ฆญ ์—†์ด๋„ ๋ฒ„ํŒ…๊ฒจ์˜จ ์ด์œ  ์ค‘ ํ•˜๋‚˜๋‹ค.

์‚ฌ์‹ค ์ด ๊ธฐ๋Šฅ ์ž์ฒด๋Š” ๋งค์šฐ ์›์‹œ์ ์ธ ํ˜•ํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค.

์šฐ์„  ์•„๋ž˜์™€ ๊ฐ™์ด generate ์ „์šฉ ์ง„์ž…์ ์„ ๊ตฌํ˜„ํ•œ๋‹ค.

๋‚˜๋Š” ์ง€๊ธˆ ์ฝ˜์†”์ถœ๋ ฅ๋งŒ ์ฐ๊ณ  ๋ง์•˜์ง€๋งŒ, ์—ฌ๊ธฐ์„œ ๋ญ˜ ํ• ์ง€๋Š” ๊ตฌํ˜„ํ•˜๋Š” ์‚ฌ๋žŒ ๋งˆ์Œ์ด๋‹ค.
๋ณดํ†ต ์—ฌ๊ธฐ์—์„œ ๊ธฐ์กด์˜ go ์ฝ”๋“œ๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด go ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ž‘์—…๋“ค์„ ๋งŽ์ด ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฉ”์ธ ์ง„์ž…์ ์— ์ฃผ์„์˜ ํ˜•ํƒœ๋กœ generate์šฉ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

Go๋Š” ์ฐธ ์„ค์ •๋„ ์ฃผ์„์œผ๋กœ ํ•˜๋Š”๊ฒŒ ๋งŽ๊ณ  ์•”์‹œ์ ์ด๊ณ  ๋А์Šจํ•œ๊ฑธ ์ข‹์•„ํ•˜๋”๋ผ.
์ด๊ฑด go generate๋ฅผ ์‹คํ–‰ํ–ˆ์„๋•Œ ๋ฐฉ๊ธˆ ๋งŒ๋“  foo ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ์„ค์ •ํ•œ๋‹ค.
์—ฌ๊ธฐ์„œ๋Š” go run๋งŒ ์ผ์ง€๋งŒ, ๋‹ค๋ฅธ ๋ช…๋ น๋“ค๋„ ์–ผ๋งˆ๋“ ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ์ปจํ…์ŠคํŠธ์—์„œ go generate๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด

๋”ฑ ๊ทธ๊ฒŒ ํ˜ธ์ถœ๋  ๊ฒƒ์ด๋‹ค.

๊ธฐ๋ณธ์ ์ธ ์›๋ฆฌ๋Š” ์ด๊ฒŒ ๋‹ค๋‹ค.




์ฐธ์กฐ
https://go.dev/blog/generate