>백엔드 개발 >Golang >Go 언어에서 make의 사용법은 무엇입니까?

Go 언어에서 make의 사용법은 무엇입니까?

王林
王林원래의
2021-01-08 14:14:436472검색

go 언어 make의 사용법은 다음과 같습니다. 1. [make(map[string]string)]; 2. [make([]int, 2)]; 3. [make([]int, 2, 4)] .

Go 언어에서 make의 사용법은 무엇입니까?

이 기사의 운영 환경: windows10 시스템, GO 1.11.2, thinkpad t480 컴퓨터.

(동영상 공유 학습: 프로그래밍 영상 강좌)

golang에는 주로 new 기능과 make 메모리 할당 기능이 내장되어 있습니다.

make는 슬라이스, 맵, 채널에 대해서만 메모리를 할당하고 초기화된 값을 반환할 수 있습니다. 먼저 make의 다음 세 가지 사용법을 살펴보겠습니다.

make(map[string]string)
make([]int, 2)
make([]int, 2, 4)

첫 번째 사용법은 매개변수의 길이가 누락되고 유형만 전달된다는 것입니다. 이 사용법은 유형이 맵인 시나리오에서만 사용할 수 있습니다. 또는 make([ ]int)와 같은 chan은 오류를 보고합니다. 이 방식으로 반환된 공간 길이의 기본값은 0입니다.

두 번째 사용법은 길이를 지정합니다. 예를 들어 make([]int, 2)는 길이가 2인 슬라이스를 반환합니다.

세 번째 사용법, 두 번째 매개변수는 슬라이스의 길이를 지정하고, 세 번째 매개변수는 a := make([]int, 2, 4)와 같이 예약된 공간의 길이를 지정하는 데 사용됩니다. 여기서 반환된 슬라이스 a의 전체 길이는 4라는 점에 주목할 가치가 있습니다. 예약됨은 추가 4를 의미하지 않습니다. 실제로 처음 두 조각의 수가 포함됩니다. 예를 들어 := make([]int, 4, 2)를 사용하면 구문 오류가 보고됩니다.

따라서 슬라이스에 메모리를 할당할 때 가능한 최대 슬라이스 길이를 추정하고 make에 세 번째 매개변수를 전달하여 슬라이스에 대한 메모리 공간을 확보하도록 최선을 다해야 합니다. 그래야 메모리의 2차 할당을 방지할 수 있습니다. . 이로 인한 오버헤드는 프로그램 성능을 크게 향상시킵니다.

관련 추천: golang 튜토리얼

위 내용은 Go 언어에서 make의 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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