>  기사  >  백엔드 개발  >  Go 언어에는 어떤 패키지가 있나요?

Go 언어에는 어떤 패키지가 있나요?

青灯夜游
青灯夜游원래의
2021-06-07 16:06:493406검색

Go 언어 패키지: 1. fmt; 3. bufio; 5. strconv; 7. sync; 11. net/http 12. 반영 등

Go 언어에는 어떤 패키지가 있나요?

이 튜토리얼의 운영 환경: Windows 10 시스템, GO 1.11.2, Dell G3 컴퓨터.

Go 언어 소스 코드 재사용은 패키지를 기반으로 합니다. Go 언어의 main() 함수는 main이라는 패키지에 있는데, 메인 패키지가 다른 코드를 참조하려면 패키지 형태로도 참조해야 합니다. 패키지 내용 및 다른 패키지를 가져오는 방법.

Go 언어 패키지는 폴더와 일대일 대응을 합니다. 모든 패키지 관련 작업은 작업 디렉터리(GOPATH)에 따라 달라집니다.

표준 Go 언어 코드 베이스에는 수많은 패키지가 포함되어 있으며 대부분은 Go를 설치할 때 시스템에 자동으로 설치됩니다. $GOROOT/src/pkg 디렉토리에서 이러한 패키지를 볼 수 있습니다. 다음은 우리 개발에 일반적으로 사용되는 일부 패키지에 대한 간략한 소개입니다.

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

bytes 패키지는 바이트 슬라이스를 읽고 쓰기 위한 일련의 함수를 제공합니다. 바이트 슬라이싱 처리에는 많은 기능이 있는데 기본 처리 기능, 비교 기능, 접미사 검사 기능, 인덱스 기능, 분할 기능, 케이스 처리 기능, 서브 슬라이싱 처리 기능으로 구분됩니다.

16) log

log 패키지는 주로 프로그램에서 로그를 출력하는 데 사용됩니다.

로그 패키지는 인쇄, 치명적, 패닉의 세 가지 유형의 로그 출력 인터페이스를 제공합니다.

  • 인쇄는 일반적인 출력입니다.

  • Fatal은 Print를 실행한 후 os.Exit(1)을 실행하는 것이고,

  • Panic은 Print를 실행한 후 Patrick() 메서드를 호출하는 것입니다.

추천 학습: Golang 튜토리얼

위 내용은 Go 언어에는 어떤 패키지가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.