module and package

go 1.16 ๋ถ€ํ„ฐ๋Š” module์ด ๊ธฐ๋ณธ์‚ฌ์–‘

  • module์ด ํŒจํ‚ค์ง€๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

package

main Package๊ฐ€ ์•„๋‹Œ ๊ทธ ์™ธ ํŒจํ‚ค์ง€ -> ์‹คํ–‰์‹œ์ž‘์ง€์ ์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ํŒจํ‚ค์ง€, ๋ณด์กฐ ํŒจํ‚ค์ง€๋กœ ๋™์ž‘ํ•œ๋‹ค.

  • import๋กœ ํŒจํ‚ค์ง€๋ฅผ ํฌํ•จ์‹œํ‚จ๋‹ค.

import Math.Rand # Math.Rand ํŒจํ‚ค์ง€๋ฅผ ํฌํ•จ์‹œํ‚จ๋‹ค. subdirectory๋ฅผ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅ
  • package์— ๋ณ„์นญ ๋ถ™์ด๋ฉด ๊ฐ™์€ ์ด๋ฆ„์˜ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

import (
  "fmt"
  m "Math" //m์ด ๋ณ„์นญ
)
  • ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํŒจํ‚ค์ง€๊ฐ€ ์žˆ์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

  • ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ• ๋•Œ๋Š” _๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํŒจํ‚ค์ง€ ์ดˆ๊ธฐํ™”์— ๋”ฐ๋ฅธ ๋ถ€๊ฐ€ํšจ๊ณผ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•ด์•ผํ•  ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

  • folder๋ช…๊ณผ ํŒจํ‚ค์ง€๋ช…์ด ๊ฐ™์•„์•ผํ•œ๋‹ค.

  • ํ•œํด๋”์— 2๊ฐœ์˜ ํŒจํ‚ค์ง€๋ฅผ ๋งŒ๋“ค์ˆ˜ ์—†๋‹ค.

_ aaa/bbb // ๋ณ„์นญ์œผ๋กœ `_`๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ํŒจํ‚ค์ง€ ์™ธ๋ถ€ ๊ณต๊ฐœ

    • ๋Œ€๋ฌธ์ž ์™ธ๋ถ€ ๊ณต๊ฐœ

    • ์†Œ๋ฌธ์ž ์™ธ๋ถ€ ๋น„๊ณต๊ฐœ

  • ํŒจํ‚ค์ง€ ์ดˆ๊ธฐํ™” ํ•จ์ˆ˜

    • ํŒจํ‚ค์ง€๊ฐ€ ๋กœ๋“œ๋ ๋•Œ ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜

    • ํŒจํ‚ค์ง€ ๋‚ด๋ถ€์— init() ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๋ฉด ์ž๋™์œผ๋กœ ์‹คํ–‰๋œ๋‹ค. ๋‹ค๋งŒ ํ•œ๋ฒˆ๋งŒ ์‹คํ–‰๋œ๋‹ค. 2๊ณณ์—์„œ import๋ฅผํ•ด๋„ ํ•œ๋ฒˆ๋งŒ ์‹คํ–‰๋จ.

module

go mod init name // ๋ชจ๋“ˆ ์ƒ์„ฑ
go mod tidy // ๋ชจ๋“ˆ์— ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œ, go.sum์ด ์ƒ์„ฑ๋œ๋‹ค.
  • ๋‹ค์šด๋ฐ›์€ ํŒŒ์ผ์€ GoPath/pkg/mod์— ์ €์žฅ๋œ๋‹ค. go env๋กœ ํ™•์ธ๊ฐ€๋Šฅ

Last updated

Was this helpful?