[Go] 정렬
개요 Go의 sort 패키지는 다양한 타입의 슬라이스를 정렬하고 검색하는 기능을 제공합니다. 주요 특징: 기본 타입: Ints, Float64s, Strings 정렬 커스텀 정렬: Interface 구현으로 모든 타입 정렬 Slice 정렬: sort.Slice로 간...
개요 Go의 sort 패키지는 다양한 타입의 슬라이스를 정렬하고 검색하는 기능을 제공합니다. 주요 특징: 기본 타입: Ints, Float64s, Strings 정렬 커스텀 정렬: Interface 구현으로 모든 타입 정렬 Slice 정렬: sort.Slice로 간...
개요 Go의 os/signal 패키지는 운영체제의 시그널을 처리하여 프로그램의 우아한 종료(graceful shutdown)를 구현합니다. 주요 특징: 시그널 감지: SIGINT, SIGTERM 등 OS 시그널 수신 채널 기반: Go 채널로 시그널 전달 Gracef...
개요 환경 변수는 애플리케이션 설정을 외부에서 주입하는 표준 방법입니다. 주요 특징: OS 수준 설정: 프로세스별 독립적 환경 12-Factor App: 설정을 환경에서 분리 보안: 민감한 정보를 코드에서 분리 유연성: 환경별 다른 설정 (개발/스테이징/프로덕션...
개요 Go의 reflect 패키지는 런타임에 타입과 값 정보를 검사하고 조작할 수 있는 리플렉션 기능을 제공합니다. 주요 특징: 타입 검사: TypeOf로 런타임 타입 확인 값 검사: ValueOf로 값 정보 조회 Kind 분류: 기본 타입 카테고리 구분 구조체...
개요 Go는 코드 주석을 통한 자동 문서화를 언어 차원에서 지원합니다. 주요 특징: 주석 기반 문서화: 별도 파일 불필요 go doc 도구: 터미널에서 문서 조회 godoc 서버: 웹 기반 문서 브라우징 pkg.go.dev: 공개 패키지 자동 문서화 Exam...
개요 코드 커버리지는 테스트가 실제로 실행한 코드의 비율을 측정하여 테스트 품질을 평가하는 지표입니다. 주요 특징: 내장 지원: Go 도구 체인에 기본 포함 다양한 모드: set, count, atomic 시각화: HTML 리포트 생성 패키지별 분석: 함수/라인...
개요 Go는 테스팅을 언어 차원에서 지원하며, testing 패키지와 go test 도구를 제공합니다. 주요 특징: 내장 테스팅 프레임워크: 별도 설치 불필요 go test 명령어: 자동 테스트 실행 벤치마크: 성능 측정 기능 커버리지: 코드 커버리지 분석 ...
개요 Go의 동시성 모델은 고루틴(goroutine)과 채널(channel)을 중심으로 설계되었습니다. 주요 특징: 고루틴: 경량 쓰레드, 수천~수만 개 동시 실행 가능 채널: 고루틴 간 통신 및 동기화 CSP 모델: Communicating Sequential P...
개요 recover는 panic 상태를 복구하고 정상 실행을 재개할 수 있게 하는 내장 함수입니다. 주요 특징: panic 복구: 발생한 panic을 포착하여 프로그램 종료 방지 defer 내에서만 작동: defer 블록 안에서 호출해야만 유효 panic 값 반환:...
개요 panic은 Go에서 복구 불가능한 에러 상황을 처리하는 메커니즘입니다. 주요 특징: 즉시 실행 중단: panic 발생 시 현재 함수 실행 중단 defer 실행: panic 발생 전 등록된 defer는 모두 실행됨 스택 언와인딩: 호출 스택을 거슬러 올라가며 ...