Go 언어에서 구조체 두 개가 정확히 똑같은 필드를 가지고 있더라도, 하나가 다른 하나보다 메모리를 더 많이 또는 더 적게 요구할 수 있다는 사실이 놀라울 수 있는데요. 일반적으로 필요한 것보다 더 많은 메모리를 사용하지 않도록 하는 것이 좋기 때문에, 구조체 패킹(structure packing)이라는 기술과 Go 프로그래밍 언어에 어떻게 적용할 수 있는지 알아보겠습니다.예제 구조체 만들기다음 예제 코드를 살펴보겠습니다. 이 코드는 두 개의 사용자 정의 타입을 정의하는데, 그 중 하나는 세 개의 필드를 포함하는 구조체입니다.package maintype City uint8const ( NewYork City = iota London Paris Mumba..
Go 언어의 리플렉션, 제대로 활용하는 방법! Go 언어의 리플렉션(Reflection) 기능, 왠지 어렵고 복잡하게 느껴지시나요? 하지만 리플렉션은 Go 언어의 강력한 기능 중 하나이며, 제대로 이해하고 활용하면 코드의 유연성과 확장성을 크게 높일 수 있습니다. 이 글에서는 Go 언어의 리플렉션 기능을 쉽고 명확하게 설명하고, 실제 코드 예시를 통해 제대로 활용하는 방법을 알려드리겠습니다. Go 언어의 리플렉션, 핵심 개념부터 짚고 넘어가자! 리플렉션이란?모든 변수를 interface{} 타입으로 다루면서, 변수의 실제 값을 기반으로 유연한(동적 타입 언어처럼) 연산을 수행하는 기능입니다. Go 언어의 타입 Go 언어는 정적 타입 언어입니다. 즉, 변수의 타입이 컴파일 시점에 결정됩니다.type M..