Recent posts

[Go] interface

15 minute read

개요 인터페이스는 Go의 타입 시스템의 핵심으로, 메서드 시그니처의 집합을 정의합니다. 주요 특징: 메서드 집합: 타입이 구현해야 할 메서드들을 정의 암시적 구현: 명시적 선언 없이 자동으로 구현됨 (덕 타이핑) 다형성: 서로 다른 타입을 하나의 인터페이스로 처리 ...

[Go] map

13 minute read

개요 맵(map)은 키-값 쌍을 저장하는 해시 테이블 기반 자료구조입니다. 주요 특징: 키-값 쌍: 고유한 키로 값에 접근 참조 타입: 함수 인자로 전달 시 참조 전달 제로값은 nil: nil 맵에 쓰기 시도는 패닉 발생 순서 없음: 순회 순서가 무작위 (의도적...

[Go] slice

13 minute read

개요 슬라이스(slice)는 동적 크기를 가진 배열의 유연한 뷰입니다. 주요 특징: 동적 크기: 런타임에 크기 변경 가능 참조 타입: 내부 배열에 대한 참조 (포인터, 길이, 용량) 제로값은 nil: nil 슬라이스도 안전하게 사용 가능 make() 또는 슬라이...

[Go] array

10 minute read

개요 배열(array)은 고정 크기의 같은 타입 요소들의 연속된 모음입니다. 주요 특징: 고정 크기: 선언 시 크기가 결정되며 변경 불가 값 타입: 할당/전달 시 전체 복사 발생 제로값 초기화: 선언 시 자동으로 제로값으로 초기화 타입의 일부: 크기가 타입의 일...

[Go] package

10 minute read

개요 패키지(package)는 Go의 코드 모듈화 및 재사용 단위입니다. 주요 특징: 코드를 논리적으로 그룹화하는 기본 단위 디렉토리 하나당 하나의 패키지 (테스트 패키지 제외) 대문자로 시작하는 식별자는 export (공개) init() 함수로 패키지 초기화 ...