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

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

藏色散人
藏色散人원래의
2021-01-27 11:49:4211447검색

Go 언어에서 make의 기능은 슬라이스, 맵, 채널에 대한 메모리를 할당하고 초기화된 값을 반환하는 것입니다. 1. [make(map[string]string)]; []int, 2)]; 3. [make([]int, 2, 4].

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

이 문서의 운영 환경: Windows 7 시스템, Go1.11.2, Dell G3 컴퓨터.

권장 : "golang tutorial"

golang에서 make 사용

Golang에는 주로 new 및 make 기능이 내장되어 있습니다. 오늘은 make가 슬라이스, 맵에만 메모리를 할당할 수 있는 방법을 살펴보겠습니다. , 채널, 초기화된 값을 반환합니다. 먼저 make의 다음 세 가지 용도를 살펴보겠습니다.

1. make(map[string]string)

2. )

3.make([]int, 2 , 4)

1. 첫 번째 사용법은 길이가 부족한 매개변수를 전달하고 유형만 전달하는 것입니다. 또는 chan. 예를 들어, make([]int)는 오류를 보고합니다. 이 방식으로 반환된 공간의 길이는 기본적으로 0입니다. 예를 들어, make([]int, 2)는 길이를 지정합니다. 세 번째 방법은 이 사용법에서 두 번째 매개변수는 슬라이스의 길이를 지정하고 세 번째 매개변수는 예약된 공간의 길이를 지정하는 데 사용됩니다(예: := make([]int). , 2, 4) 여기서 반환된 조각의 총 길이는 4라는 점에 주목할 가치가 있습니다. 예약된 길이는 추가 길이 4를 의미하지 않지만 실제로는 처음 두 조각의 수를 포함합니다. 다음과 같이 사용하면:= make([. ]int, 4, 2) 구문 오류가 보고됩니다.

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

make는 할당 및 할당에만 사용됩니다. 슬라이스, 맵 및 chan 유형의 데이터를 초기화합니다. new는 모든 유형의 데이터를 할당할 수 있습니다.

new 할당은 *Type 유형인 포인터를 반환합니다.

new 할당된 공간이 지워집니다. , make는 공간을 할당한 후 초기화합니다.

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

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