[Go] generate
go generate๋ go์์ ์ ๊ณตํ๋ ๋ฉํํ๋ก๊ทธ๋๋ฐ ์๋จ ์ค ํ๋๋ค.
go๊ฐ ์ด์ ๋ถํฐ ์ ๋๋ฆญ ์์ด๋ ๋ฒํ
๊ฒจ์จ ์ด์ ์ค ํ๋๋ค.
์ฌ์ค ์ด ๊ธฐ๋ฅ ์์ฒด๋ ๋งค์ฐ ์์์ ์ธ ํํ๋ฅผ ๊ฐ๊ณ ์๋ค.
์ฐ์ ์๋์ ๊ฐ์ด generate ์ ์ฉ ์ง์ ์ ์ ๊ตฌํํ๋ค.
๋๋ ์ง๊ธ ์ฝ์์ถ๋ ฅ๋ง ์ฐ๊ณ ๋ง์์ง๋ง, ์ฌ๊ธฐ์ ๋ญ ํ ์ง๋ ๊ตฌํํ๋ ์ฌ๋ ๋ง์์ด๋ค.
๋ณดํต ์ฌ๊ธฐ์์ ๊ธฐ์กด์ go ์ฝ๋๋ค์ ๊ธฐ๋ฐ์ผ๋ก ์๋ก์ด go ์ฝ๋๋ฅผ ์์ฑํ๋ ์์
๋ค์ ๋ง์ด ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฉ์ธ ์ง์ ์ ์ ์ฃผ์์ ํํ๋ก generate์ฉ ์ค์ ์ ์ถ๊ฐํด์ค๋ค.
Go๋ ์ฐธ ์ค์ ๋ ์ฃผ์์ผ๋ก ํ๋๊ฒ ๋ง๊ณ ์์์ ์ด๊ณ ๋์จํ๊ฑธ ์ข์ํ๋๋ผ.
์ด๊ฑด go generate๋ฅผ ์คํํ์๋ ๋ฐฉ๊ธ ๋ง๋ foo ์ฝ๋๋ฅผ ์คํํ๋๋ก ์ค์ ํ๋ค.
์ฌ๊ธฐ์๋ go run๋ง ์ผ์ง๋ง, ๋ค๋ฅธ ๋ช
๋ น๋ค๋ ์ผ๋ง๋ ์ง ์ฌ์ฉํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ํด๋น ์ปจํ ์คํธ์์ go generate๋ฅผ ํธ์ถํ๋ฉด
๋ฑ ๊ทธ๊ฒ ํธ์ถ๋ ๊ฒ์ด๋ค.
๊ธฐ๋ณธ์ ์ธ ์๋ฆฌ๋ ์ด๊ฒ ๋ค๋ค.
์ฐธ์กฐ
https://go.dev/blog/generate