[Go] μ œλ„ˆλ¦­

μ΄λ²ˆμ— μ—…λ°μ΄νŠΈλœ 버전 1.18λΆ€ν„° μ œλ„ˆλ¦­ μ‹ νƒμŠ€κ°€ μΆ”κ°€λ˜μ—ˆλ‹€.


νƒ€μž… νŒŒλΌλ―Έν„°

Go의 μ œλ„ˆλ¦­λ„ λ‹€λ₯Έ μ–Έμ–΄λ“€κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ, νƒ€μž… νŒŒλΌλ―Έν„°λ₯Ό μ •μ˜ν•˜κ³  κ·Έκ±Έ μ‚¬μš©ν•˜λŠ” λ°©μ‹μ˜ ꡬ쑰λ₯Ό κ°€μ§„λ‹€.

νƒ€μž… νŒŒλΌλ―Έν„°λŠ” λ‹€μŒκ³Ό 같은 ν˜•νƒœλ₯Ό 띀닀.
[νƒ€μž…λͺ… νƒ€μž…μ œμ•½, νƒ€μž…λͺ…2 νƒ€μž…μ œμ•½2, ...]

μ €κΈ°μ„œ "νƒ€μž… μ œμ•½"은, ν•΄λ‹Ή νƒ€μž…μœΌλ‘œ νŠΉμ • νƒ€μž…μ„ μΆ©μ‘±ν•˜λŠ” κ°’λ§Œ λ“€μ–΄μ˜¬ 수 μžˆλ„λ‘ μ œμ•½ν•œλ‹€.

μ œμ•½μ‚¬ν•­μ—λŠ” 보톡 μΈν„°νŽ˜μ΄μŠ€λ₯Ό 넣을텐데, λ‹€ μ“°κ³ μ‹ΆμœΌλ©΄ anyλ₯Ό 달면 λœλ‹€. κΈ°λ³Ένƒ€μž…μ„ 넣을 μˆ˜λ„ 있고, μ—¬λŸ¬κ°€μ§€ νƒ€μž…μ„ ν—ˆμš©ν•˜κ³  μ‹Άλ‹€λ©΄ | μ—°μ‚°μžλ‘œ 묢을 μˆ˜λ„ μžˆλ‹€.

예λ₯Ό λ“€μ–΄ μ•„λž˜μ˜ κ²½μš°λŠ” μ œμ•½μ„ int둜만 λ¬Άμ–΄λ†¨λŠ”λ°,

μ΄λž˜λ†“κ³  λ¬Έμžμ—΄μ„ λ„£λŠ”λ‹€κ±°λ‚˜ ν•˜λ©΄

μ—λŸ¬λ₯Ό 뱉을 것이닀.

κ·ΈλŸ΄λ•ŒλŠ” |둜 λ¬Άμ–΄μ£Όκ±°λ‚˜ ν•˜λ©΄ λœλ‹€.



μ œλ„ˆλ¦­ ν•¨μˆ˜

ν•¨μˆ˜μ— μ œλ„ˆλ¦­μ„ μ μš©ν•˜λŠ” 방법은 κ°„λ‹¨ν•˜λ‹€.

ν•¨μˆ˜λͺ… 였λ₯Έμͺ½μ— νƒ€μž…νŒŒλΌλ―Έν„°λ₯Ό μΆ”κ°€ν•˜κ³ , κ·Έ νƒ€μž…λͺ…을 잘 μ‚¬μš©ν•˜λ©΄ λœλ‹€.

μ•„λž˜λŠ” 아무 νƒ€μž…μ΄λ‚˜ λ°›μ•„μ„œ 좜λ ₯ν•˜λŠ” κ°„λ‹¨ν•œ μ œλ„ˆλ¦­ 좜λ ₯ ν•¨μˆ˜λ₯Ό λ§Œλ“  것이닀.

μ»΄νŒŒμΌνƒ€μž„μ— 각각의 νƒ€μž…μ— λŒ€ν•œ ꡬ체화 버전을 λ§Œλ“€μ–΄ μ‚¬μš©ν•˜λ―€λ‘œ, κ·Έλƒ₯ anyλ₯Ό μ“°λŠ” 것에 λΉ„ν•˜λ©΄ λŸ°νƒ€μž„ μ„±λŠ₯λ¬Έμ œκ°€ μ—†λ‹€.



μ œλ„ˆλ¦­ ꡬ쑰체

ν•¨μˆ˜λ³΄λ‹€ 더 μ€‘μš”ν•œκ±΄ ꡬ쑰체일 것이닀.
ꡬ쑰체도 ν•¨μˆ˜μ™€ λ§ˆμ°¬κ°€μ§€λ‘œ ꡬ쑰체 이름 였λ₯Έμͺ½μ— νƒ€μž…νŒŒλΌλ―Έν„°λ₯Ό 뢙인닀.

μ•„λž˜λŠ” μ œλ„ˆλ¦­μ„ μ΄μš©ν•΄ κ°„λ‹¨ν•œ 래퍼 νƒ€μž…μ„ κ΅¬ν˜„ν•œ 것이닀.

그러면 λ‹€μŒκ³Ό 같이 객체λ₯Ό 생성할 수 μžˆλ‹€.

ꡬ쑰체 λ©”μ„œλ“œμ˜ μ •μ˜λŠ” λ‹€μŒκ³Ό 같이 ν•  수 μžˆλ‹€. νŠΉλ³„ν•œκ²Œ 달리 μžˆμ§€λŠ” μ•Šκ³ , κ·Έλƒ₯ μ œμ•½λ§Œ λΊ€μ±„λ‘œ νƒ€μž…λͺ…을 this둜 바인딩해주면 λœλ‹€.

그럼 λ‹€μŒκ³Ό 같은 ν˜•νƒœλ‘œ μ‚¬μš©ν•  수 μžˆλ‹€.

κ·Έλ ‡λ‹€.