[Go] workspace

๊ด€๋ จ ํฌ์ŠคํŠธ
https://blog.naver.com/sssang97/222972305361

์›Œํฌ์ŠคํŽ˜์ด์Šค๋Š” Go 1.18๋ถ€ํ„ฐ ์ถ”๊ฐ€๋œ ๋ชจ๋“ˆ ๊ด€๋ฆฌ ๋ถ€๊ฐ€๊ธฐ๋Šฅ์ด๋‹ค.

ํ•˜๋‚˜์˜ ๊ณต๊ฐ„์—์„œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ชจ๋“ˆ๋“ค์„ ๋ชจ์•„๋†“๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ •ํ™•ํžˆ๋Š” ์ข€, ์ข…์†์„ฑ ๋ชจ๋“ˆ๋“ค์„ local๋กœ ๋‹ค์šด๋ฐ›์•„์„œ ๋Œ๋ฆฌ๋Š” ์œ ์Šค์ผ€์ด์Šค์— ํŠนํ™”๋œ ๊ฒƒ ๊ฐ™๋‹ค. ์™œ์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ์“ฐ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋‹จํžˆ ๋งŽ์€๊ฐ€๋ณด๋‹ค.




์›Œํฌ์ŠคํŽ˜์ด์Šค ๋งŒ๋“ค๊ธฐ

์šฐ์„  ์›Œํฌ์ŠคํŽ˜์ด์Šค์šฉ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ฒ ๋‹ค.

๋ณ„๊ฑด ์—†๋‹ค.




์‹คํ–‰ํ˜• ๋ชจ๋“ˆ ์ถ”๊ฐ€ํ•˜๊ธฐ

๊ทธ๋Ÿผ ์ด์ œ ์ €๊ธฐ๋‹ค๊ฐ€ ์‹คํ–‰์˜ ์ฃผ์ฒด๊ฐ€ ๋  executable ๋ชจ๋“ˆ์„ ํ•˜๋‚˜ ์„œ๋ธŒ๋กœ ์ถ”๊ฐ€ํ•˜๊ฒ ๋‹ค.
๊ทธ๋ƒฅ ํ‰์†Œ์— ํ”„๋กœ์ ํŠธ ํŒŒ๋“ฏ์ด ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๋œ๋‹ค.

์งœ์„œ ํ•œ๋ฒˆ ๋Œ๋ ค๋ณด๊ณ 

์ด์ œ ์ข…์†์„ฑ์œผ๋กœ ์‚ฌ์šฉํ•  ๋ชจ๋“ˆ์„ ๋‹ค์šด๋ฐ›์•„์ฃผ๊ฒ ๋‹ค.

์ €๊ฑธ ๋‚˜์ค‘์—๋Š” ์›Œํฌ์ŠคํŽ˜์ด์Šค์—๋„ ์ถ”๊ฐ€ํ•ด์ค„ ๊ฒƒ์ด๋‹ค.

์ฝ”๋“œ๋Š” ๋Œ€์ถฉ ์ด๋ ‡๋‹ค.




์›Œํฌ์ŠคํŽ˜์ด์Šค ์—ฐ๊ฒฐํ•˜๊ธฐ

๋์œผ๋ฉด ์ด์ œ ์ € ๋ชจ๋“ˆ์„ ์›Œํฌ์ŠคํŽ˜์ด์Šค์— ์—ฐ๊ฒฐํ•ด์ฃผ์ž.
์ตœ์ดˆ์—๋Š” work init ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

๊ทธ๋Ÿผ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋ฃจํŠธ๊ฒฝ๋กœ์— ๊ด€๋ฆฌํŒŒ์ผ์ด ์ถ”๊ฐ€๋˜์—ˆ์„ ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿผ ์ด์ œ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋‹จ์œ„์—์„œ ์ € ๋ชจ๋“ˆ๋“ค์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.




์ข…์† ๋ชจ๋“ˆ ์ถ”๊ฐ€ํ•˜๊ธฐ

๊ทธ๋Ÿผ ๋ฐฉ๊ธˆ๊นŒ์ง€๋Š” go get์œผ๋กœ๋งŒ ๋ฐ›์•„์„œ ์“ฐ๋˜ ๊ฒƒ์„ ๋กœ์ปฌ๋ชจ๋“ˆ๋กœ ๋‚ด๋ ค๋ฐ›์•„์„œ ์จ๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.
ํด๋ก ์„ ๋จผ์ € ๋ฐ›๊ณ 

๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ฒฝ๋กœ๋ฅผ work use ๋ช…๋ น์œผ๋กœ ์—ฐ๋™ํ•ด์ค€๋‹ค.

๊ทธ๋Ÿผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ work ๊ด€๋ฆฌํŒŒ์ผ์— ์ถ”๊ฐ€๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿผ ์ด์ œ ์ด ์›Œํฌ์ŠคํŽ˜์ด์Šค์—์„œ "https://github.com/myyrakle/go-test-lib" ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์—๋Š”, ์ € ๋‚ด๋ ค๋ฐ›์€ ๋กœ์ปฌ๋ชจ๋“ˆ์„ ๋Œ€์‹  ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋œ๋‹ค.

๋ฐ”๊ฟ”์„œ ์‹คํ–‰ํ•ด๋ณด๋ฉด

์ž˜ ์ ์šฉ๋˜์–ด์žˆ์„ ๊ฒƒ์ด๋‹ค.

์ด๋Ÿฐ ๊ฑฐ์ฐฝํ•˜๋ฉด์„œ๋„ ๋ณ„๊ฑฐ์•„๋‹Œ๊ฑฐ๊ฐ™์€ ๊ธฐ๋Šฅ์ด ์™œ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•˜๋‹ค๋ฉด, ์•„๋ž˜ ๊ธ€ ์ฐธ๊ณ ํ•ด๋ณด๋ฉด ๋˜๊ฒ ๋‹ค.
https://blog.naver.com/sssang97/222972305361


์ฐธ์กฐ
https://go.dev/doc/tutorial/workspaces
https://dev.to/gophers/what-are-go-workspaces-and-how-do-i-use-them-1643
https://go.dev/blog/get-familiar-with-workspaces