[Golang] new, make, pointer ํ๊ตฌ
๋ชฉ์ฐจ 1. new ํค์๋ 2. ํ์ ํฌ์ธํฐ ์ค๋ช
3. ํค์๋ 4. ์์ฝ Go ์ธ์ด์ new ์ make ๋ ์๋ก์ด ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์์ฑํ๋ค๋ ๊ณตํต์ ์ด ์์ง๋ง ์ ์ฉํ ์ํฉ๊ณผ ๋์์ด ๋ค๋ฅธ๋ค. ๋์ ๊ณตํต์ ๊ณผ ์ฐจ์ด์ ์ ๋น๊ตํ์ฌ ์ด๋ ์ํฉ์ ์ ํฉํ๊ฒ ์ฌ์ฉํ ์ ์๋์ง ์์๋ณด๊ณ , ๋๋ถ์ด ์๊ฒ๋ ํฌ์ธํฐ ์ง์๋ ๊ฐ์ด ์ ๋ฆฌํด๋ณธ๋ค. new ํค์๋ ์ฌ์ฉ ๋ชฉ์ new ๋ ์ฃผ๋ก ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์
(์์ ํ์
)์ ํฌ์ธํฐ๋ฅผ ํ ๋นํ ๋ ์ฌ์ฉ๋๋ค. ์ฆ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ํ ๋นํ๊ณ ํด๋น ์ธ์คํด์ค์ ํฌ์ธํฐ๋ฅผ ๋ฐํํ๋ค. new ๋ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ํ ์ ๋ก๊ฐ์ผ๋ก ์ด๊ธฐํ๋ ํฌ์ธํฐ๋ฅผ ๋ฐํํ๋ฉฐ, new ๋ก ์์ฑ๋ ๊ฐ์ 0 ๋๋ nil ๊ฐ์ผ๋ก ์ด๊ธฐํ ๋๋ค. var k *int k = new(int) fmt.Println("k: ", k, " *k: ", *..
2024.01.07