struct

์—ฌ๋Ÿฌ ํ•„๋“œ๋ฅผ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ ๊ตฌ์กฐ(Structure)๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

type Student struct {
  name  string
  age   int
  grade int
}

var a student -> ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”

a.age = "10"
  • ์ „์ฒด ์ดˆ๊ธฐํ™”

var a student = student{"xx",28}
  • ์ผ๋ถ€ ์ดˆ๊ธฐํ™”

var a student = student{name:"xx"}
  • ๊ตฌ์กฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ตฌ์กฐ์ฒด๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค.

  • field๋ช…์„ ์ƒ๋žตํ•˜๋ฉด .์„ ํ•œ๋ฒˆ์œผ๋กœ ์ค„์ผ์ˆ˜ ์žˆ๋‹ค.

memory padding

  • 8 byte๋ณด๋‹ค ์ž‘์€ ํ•„๋“œ๋Š” 8byte๋ผ๋ฆฌ ๋ชฐ์•„์„œ ๋ฐฐ์น˜ํ•˜์ž.

  • ์ž‘์€๊ฒƒ๋ถ€ํ„ฐ ํฐ๊ฒƒ์ˆœ์œผ๋กœ ํ•˜๋ฉด๋œ๋‹ค.

์ •๋ฆฌ

  • ํ•จ์ˆ˜ : ์ฝ”๋“œ์˜ ์‘์ง‘๋„๋ฅผ ์˜ฌ๋ ค์ฃผ๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์—ฌ์ค€๋‹ค.

  • ๋ฐฐ์—ด : ๊ฐ™์€ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ ์‘์ง‘๋„๋ฅผ ์˜ฌ๋ ค์ฃผ๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์—ฌ์ค€๋‹ค.

  • ๊ตฌ์กฐ์ฒด : ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌถ์–ด์„œ ์‘์ง‘๋„๋ฅผ ์˜ฌ๋ ค์ฃผ๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์—ฌ์ค€๋‹ค.

Last updated