Go 표준 라이브러리 소개
이 문서를 작성할 당시 Go 배포판은 이미 1.21 버전이며, 이 사이트가 설립된 지 1 년이 조금 넘었습니다.
Go 언어의 표준 라이브러리는 매우 풍부하며 (데이터 구조 제외) 기능도 매우 강력합니다. API 는 개발자에게 매우 친숙하며, 표준 라이브러리를 능숙하게 사용하면 일상적인 개발에 매우 큰 도움이 될 것입니다. 예를 들어 외부 의존성 없이 net/http, html/template, database/sql 이 세 개의 라이브러리만으로도 독립적이고 완전한 웹 프로젝트를 개발할 수 있습니다.
표준 라이브러리 내용이 계속 업데이트되지 않은 이유는 표준 라이브러리 내용이 실제로 너무 많기 때문입니다. 따라서 아래에서는 일반적으로 사용되는 표준 라이브러리의 역할을 간단히 요약하여 자신이 관심 있는 부분을 선택하여 이해할 수 있도록 하겠습니다. 각 표준 라이브러리의 패키지 레벨 주석에서 해당 패키지의 용도를 자세히 설명합니다.
fmt, 형식화된 입력 출력을 처리하는 패키지html, html 템플릿 조작 패키지net, 일련의 네트워크 조작을 제공하는 패키지, 매우 강력함flag, 명령줄 매개변수 해석 패키지reflect, 리플렉션 조작 패키지log, 기본 제공 로그 패키지sort, 정렬 조작 패키지regex, 정규 표현식 패키지image, 이미지 조작 패키지time, 시간 조작 패키지unicode, unicode 문자 집합 조작 패키지unsafe, 타입 제한이 없는 포인터 조작 제공syscall, 운영체제가 제공하는 시스템 호출 패키지testing, 테스트 패키지, 주로 테스트 작성 시 사용sync, 동시성 조작 패키지context, 컨텍스트 패키지strconv, 문자열 변환 패키지strings, 문자열 조작 패키지bytes, 바이트 슬라이스 조작 패키지maps, map 조작 패키지slices, 슬라이스 조작 패키지io,Closer,Writer등 기본적인 IO 인터페이스와 기본적인 IO 조작 함수 정의io/fs, 파일 시스템 인터페이스 정의, 파일 시스템에 대한 추상화os, 운영체제와 상호작용하는 패키지, 구체적인 함수 제공, 위 두 패키지의 구체적인 구현으로 이해할 수 있음os/signal, 운영체제 신호 패키지, 운영체제 신호 수신용, 주로 프로그램의 우아한 종료 구현os/exec, 운영체제 명령 패키지, 운영체제 명령 실행용os/user, 운영체제 사용자 패키지, 운영체제 사용자 정보 획득용bufio, 버퍼가 있는 IO 읽기 쓰기 패키지path, 슬래시 구분 경로 처리 패키지, 예: url 등path/filepath, 파일 경로 처리 패키지math, 수학 조작 패키지math/bits, 비트 연산 조작 패키지math/cmplx, 복소수 조작 패키지, 삼각 함수 도구 함수도 제공math/rand, 의사 난수 패키지math/big, 대수 고정밀 계산 패키지container/heap, 최소 힙 구현container/list, 이중 연결 리스트 구현container/ring, 링 구현archive/zip, zip 압축 아카이브 패키지archive/tar, tar 아카이브 파일 패키지compress, 압축 알고리즘 구현 패키지, 예: gzip, flate 등database/sql, 데이터베이스와 상호작용하는 패키지encoding, 인코딩 처리 패키지, 하위에 많은 서브 패키지 포함, 예:json,xml,base64등crypto, 암호화 처리 패키지, 하위에 많은 서브 패키지 포함, 예: sha1, rsa 등go/ast, Go 소스 코드 추상 구문 트리 매핑 패키지go/parser, Go 소스 코드를 추상 구문 트리로 해석하는 패키지go/importer, 임포터에 대한 액세스 제공go/format, Go 언어 포맷 패키지arena, 수동 메모리 할당 및 해제 기능 제공, 실험 단계runtime, 런타임 조작 패키지, Go 에서 많은 조작이 이 패키지로 구현됨
