Repolode
caarlos0

caarlos0/env

struct 태그를 사용해 환경 변수를 타입이 지정된 구조체에 파싱하는 의존성 없는 Go 라이브러리입니다.

스타
6,357
포크
299
열린 이슈
44
마지막 커밋
24시간 전

어떤 프로젝트인가요?

env는 환경 변수에서 설정을 불러오는 Go 라이브러리입니다. 구조체를 정의하고, 읽어 올 변수의 이름을 지정하는 `env` 태그를 필드에 붙인 다음 Parse 또는 ParseAs를 호출하면 타입에 맞는 값으로 구조체를 채웁니다. 외부 의존성은 없습니다.

기본적인 문자열 및 숫자 필드 외에도 env는 duration, URL, time zone, 설정 가능한 구분자를 사용하는 슬라이스와 맵, 접두사가 있는 중첩 구조체, 기본값, 사용자 정의 타입용 파서를 지원합니다. 태그 옵션으로 필수 값 및 비어 있지 않은 값 검증, 파일에서 값 읽기, 변수 확장, 사용 후 변수 설정 해제를 지정할 수 있습니다.

이 라이브러리는 ‘기능이 완성된’ v11 릴리스 라인이며, 제네릭 기반 헬퍼와 태그 이름 변경, 사용자 정의 환경 변수 소스 제공, 값 할당 시 훅 실행 옵션을 제공합니다.

핵심 기능

  • 01`env` struct 태그를 사용해 환경 변수를 구조체로 파싱합니다.
  • 02숫자, 문자열, bool, duration, URL, time zone 타입을 기본 지원합니다.
  • 03슬라이스, 맵, 포인터 및 접두사가 있는 중첩 구조체를 처리합니다.
  • 04필수 값, notEmpty, 파일 읽기, 변수 확장 옵션을 제공합니다.
  • 05사용자 정의 타입용 파서를 지정할 수 있습니다.

활용 사례

  • Go 서비스에서 환경 변수로 애플리케이션 설정을 불러옵니다.
  • 시작 시 필수 설정이 있는지 검증합니다.
  • 컨테이너 또는 12-factor 방식의 설정을 타입이 지정된 Go 구조체로 읽어 옵니다.

빠른 시작

  1. 1

    go get으로 라이브러리를 설치합니다

    go get github.com/caarlos0/env/v11
  2. 2

    env 태그가 있는 struct를 정의하고 env.Parse를 호출해 환경 변수를 불러옵니다

사용 전 알아둘 점

  • 비공개 struct 필드는 설계상 무시됩니다.

토픽

자주 묻는 질문

env은(는) 무엇인가요?
struct 태그를 사용해 환경 변수를 타입이 지정된 구조체에 파싱하는 의존성 없는 Go 라이브러리입니다. env는 환경 변수에서 설정을 불러오는 Go 라이브러리입니다. 구조체를 정의하고, 읽어 올 변수의 이름을 지정하는 `env` 태그를 필드에 붙인 다음 Parse 또는 ParseAs를 호출하면 타입에 맞는 값으로 구조체를 채웁니다. 외부 의존성은 없습니다.
env은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
env은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
env은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. env의 마지막 커밋은 2026년 11월 5일입니다.
env은(는) 어디에 사용할 수 있나요?
Go 서비스에서 환경 변수로 애플리케이션 설정을 불러옵니다. 시작 시 필수 설정이 있는지 검증합니다. 컨테이너 또는 12-factor 방식의 설정을 타입이 지정된 Go 구조체로 읽어 옵니다.
env는 어떻게 설치하나요?
go get으로 라이브러리를 설치합니다: go get github.com/caarlos0/env/v11 env 태그가 있는 struct를 정의하고 env.Parse를 호출해 환경 변수를 불러옵니다
env은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/caarlos0/env

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

하나의 셀렉터 구문으로 JSON, YAML, TOML, XML, CSV 및 기타 구조화된 데이터를 조회하고 수정하는 CLI 도구이자 Go 라이브러리입니다.

8.1천+1 이번 주181GoMIT업데이트 4일 전