Recent posts

[Go] goroutine/channel/waitgroup

15 minute read

개요 Go의 동시성 모델은 고루틴(goroutine)과 채널(channel)을 중심으로 설계되었습니다. 주요 특징: 고루틴: 경량 쓰레드, 수천~수만 개 동시 실행 가능 채널: 고루틴 간 통신 및 동기화 CSP 모델: Communicating Sequential P...

[Go] recover

14 minute read

개요 recover는 panic 상태를 복구하고 정상 실행을 재개할 수 있게 하는 내장 함수입니다. 주요 특징: panic 복구: 발생한 panic을 포착하여 프로그램 종료 방지 defer 내에서만 작동: defer 블록 안에서 호출해야만 유효 panic 값 반환:...

[Go] panic

12 minute read

개요 panic은 Go에서 복구 불가능한 에러 상황을 처리하는 메커니즘입니다. 주요 특징: 즉시 실행 중단: panic 발생 시 현재 함수 실행 중단 defer 실행: panic 발생 전 등록된 defer는 모두 실행됨 스택 언와인딩: 호출 스택을 거슬러 올라가며 ...

[Go] defer

12 minute read

개요 defer는 함수가 종료되기 직전에 특정 함수 호출을 지연시키는 키워드입니다. 주요 특징: 지연 실행: 함수 반환 직전에 실행됨 LIFO 순서: 스택 구조로 나중에 defer된 것이 먼저 실행 인자 즉시 평가: defer 문을 만나는 순간 인자가 평가됨 패...

[Go] user-defined type

15 minute read

개요 사용자 정의 타입은 Go에서 새로운 타입을 생성하는 방법입니다. 주요 특징: 타입 별칭 vs 새 타입: type 키워드로 둘 다 가능 구조체: 여러 필드를 묶은 복합 타입 메서드: 타입에 연결된 함수 임베딩: 상속 대신 조합으로 기능 확장 값 vs 포인...