일반적으로 사용되는 내장 패키지: 1. 형식화된 표준 입력 및 출력을 실현할 수 있는 fmt; 3. bufio; 5. strconv; 9. 인코딩 /json; 11. net/http; 13. os/exec;
이 튜토리얼의 운영 환경: Windows 7 시스템, GO 버전 1.18, Dell G3 컴퓨터.
Go 언어의 표준 라이브러리는 네트워크, 시스템, 암호화, 인코딩, 그래픽 등 다양한 측면을 다루고 있습니다. 표준 라이브러리의 http 패키지를 직접 사용하여 네트워크 라이브러리는 HTTP 프로토콜을 기반으로 하고 있습니다. 고성능 운영 체제 통신 모델(Linux epoll, Windows IOCP), 모든 암호화 및 인코딩이 기본적으로 지원되므로 타사 개발자로부터 이를 얻을 필요가 없습니다.
Go 언어 컴파일러는 또한 어휘집을 통해 소스 코드를 스캔하고 구문 트리를 사용하여 소스 코드 논리 분기 등을 얻습니다. Go 언어의 주변 도구도 이러한 표준 라이브러리를 기반으로 구축되었습니다. 거의 대부분의 요구 사항은 표준 라이브러리에서 충족될 수 있습니다.
Go를 설치할 때 대부분의 Golang 내장 패키지가 시스템에 자동으로 설치됩니다. $GOROOT/src/pkg
디렉토리에서 이러한 패키지를 볼 수 있습니다.
Go 언어에서 자주 사용되는 내장 패키지
1) fmt
fmt 패키지는 C 언어의 printf, scanf와 유사한 형식화된 표준 입출력을 구현합니다. 그 중 fmt.Printf()와 fmt.Println()은 개발자들이 가장 많이 사용하는 함수입니다.
형식 지정 문구는 C 언어에서 파생되었습니다. 일부 구문(%- 시퀀스)은 다음과 같이 사용됩니다.
%v: 기본 형식 값입니다. 구조를 인쇄할 때 더하기 기호(%+v)는 필드 이름을 추가합니다.
%#v: Go 스타일 값 표현
%T: 유형이 있는 Go 스타일 값 표현.
2) io
이 패키지는 원래의 I/O 작업 인터페이스를 제공합니다. 주요 작업은 os 패키지와 같은 기본 I/O를 캡슐화하고 기타 관련 기능을 추가하여 공용 인터페이스에서 사용할 추상 기능을 갖도록 만드는 것입니다.
3) bufio
bufio 패키지는 io 패키지를 캡슐화하여 데이터 버퍼링 기능을 제공하는데, 이를 통해 큰 데이터 블록을 읽고 쓸 때 발생하는 오버헤드를 어느 정도 줄일 수 있습니다.
bufio의 각 구성 요소 내부에는 버퍼가 유지되며, 데이터 읽기 및 쓰기 작업은 버퍼 영역을 통해 직접 수행됩니다. 읽기 또는 쓰기 작업이 시작되면 먼저 버퍼에서 데이터를 얻으려고 시도합니다. 버퍼에 데이터가 없는 경우에만 데이터 소스에서 데이터를 얻고 버퍼가 업데이트됩니다.
4) sort
sort 패키지는 슬라이스 및 사용자 정의 컬렉션을 정렬하는 기능을 제공합니다.
5) strconv
strconv 패키지는 문자열을 기본 데이터 유형으로 변환하거나 기본 데이터 유형을 문자열로 변환하는 기능을 제공합니다.
6) os
os 패키지는 Unix 스타일로 설계된 플랫폼 독립적인 운영 체제 기능 인터페이스를 제공하지만 오류 처리는 go 스타일입니다. os 패키지를 사용할 때 실패하면 오류 유형이 대신 반환됩니다. 오류 번호.
7) sync
sync 패키지는 다중 스레드 잠금 메커니즘과 기타 동기화 상호 배제 메커니즘을 구현합니다.
8) flag
flag 패키지는 명령줄 매개변수의 규칙 정의 및 수신 매개변수의 구문 분석 기능을 제공합니다. 대부분의 명령줄 프로그램에는 이 패키지가 필요합니다.
9) 인코딩/json
JSON은 현재 네트워크 프로그램에서 통신 형식으로 널리 사용되고 있습니다. 인코딩/json 패키지는 개체에서 JSON 문자열로 직렬화하거나 JSON 문자열에서 특정 개체를 역직렬화하는 등 JSON에 대한 기본 지원을 제공합니다.
10) html/template
은 주로 웹 개발에서 html 템플릿을 생성하기 위한 일부 기능을 구현합니다.
11) net/http
net/http 패키지는 주로 http 요청, 응답 및 URL 구문 분석을 포함한 HTTP 관련 서비스와 기본 http 클라이언트 및 확장 http 서비스를 제공합니다.
net/http 패키지를 사용하면 기존 언어에서는 상상할 수 없는 몇 줄의 코드만으로 크롤러나 웹 서버를 구현할 수 있습니다.
12) Reflect
Reflect 패키지는 런타임 리플렉션을 구현하여 프로그램이 추상 유형을 통해 객체를 조작할 수 있도록 합니다. 일반적으로 정적 유형 인터페이스{}의 값을 처리하고 Typeof를 통해 동적 유형 정보를 구문 분석하는 데 사용되며 일반적으로 인터페이스 유형이 Type인 객체를 반환합니다.
13) os/exec
os/exec 패키지는 사용자 정의 Linux 명령을 실행하기 위한 관련 구현을 제공합니다.
14) strings
strings 패키지는 주로 병합, 검색, 분할, 비교, 접미사 검사, 인덱싱, 대소문자 처리 등 문자열을 처리하는 기능 모음입니다.
strings 패키지와 bytes 패키지의 함수 인터페이스 기능은 기본적으로 동일합니다.
15)바이트
bytes 패키지는 바이트 슬라이스를 읽고 쓰기 위한 일련의 함수를 제공합니다. 바이트 슬라이싱 처리에는 많은 기능이 있는데 기본 처리 기능, 비교 기능, 접미사 검사 기능, 인덱스 기능, 분할 기능, 케이스 처리 기능, 서브 슬라이싱 처리 기능으로 구분됩니다.
16) log
log 패키지는 주로 프로그램에서 로그를 출력하는 데 사용됩니다.
로그 패키지는 인쇄, 치명적, 패닉의 세 가지 유형의 로그 출력 인터페이스를 제공합니다.
Print는 일반 출력입니다.
Fatal은 Print를 실행한 후 os.Exit(1)을 실행하는 것입니다.
Panic은 Print를 실행한 후 Patrick() 메서드를 호출하는 것입니다.
17)time
time 패키지는 주로 시간 형식화, 시간을 타임스탬프로 변환, 타임스탬프를 시간 문자열로 변환 등과 같은 시간 관련 작업에 사용됩니다.
18)regexp
정규식 캡슐화.
【관련 추천: Go 비디오 튜토리얼, 프로그래밍 교육】
위 내용은 Go 언어에서 일반적으로 사용되는 내장 패키지는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!