GO 언어 make () 할당 용법 인 스 턴 스

1566 단어
이 글 의 실례 는 GO 언어 make () 분배 용법 을 서술 하 였 다.모두 에 게 참고 하도록 공유 하 다.구체 적 인 분석 은 다음 과 같다.
make () 분배: 내부 함수 make (T, args) 의 서비스 목적 은 new (T) 와 다르다.절편, 맵, 프로 세 스 만 생 성하 고 초기 화 된 (0 이 아 닌) type T 의 값 을 되 돌려 줍 니 다. * T 의 값 이 아 닙 니 다.
이러한 구분 의 원인 은 이 세 가지 유형의 데이터 구 조 는 반드시 사용 하기 전에 초기 화 되 어야 하기 때문이다. 예 를 들 어 절편 은 세 가지 설명자 로 데이터 포인터 (배열 내), 길이, 용량 을 포함한다.이 항목 들 이 초기 화 되 기 전에, 절단 은 nil 입 니 다.
절편, 맵, 채널 에 대해 make 는 내부 데이터 구 조 를 초기 화하 고 사용 할 값 을 준비 합 니 다.make () 는 맵, 절편, 거리 에 만 사용 되 고 지침 을 되 돌려 주지 않 는 다 는 것 을 기억 하 십시오.명확 하 게 지침 을 받 으 려 면 new () 로 분배 해 야 합 니 다.

   package main 
  
import "fmt"
func main() {
 // ;* p==
 var p *[]int = new([]int)
 *p = make([]int, 100, 100) // ,
 fmt.Println(p)
 // V ,100
 //
 //var v  []int = make([]int, 100)
 // : ,
 v := make([]int, 100)
 fmt.Println(v)
}
make() 。
// make , 。
// 5 , 0
a := make([]int, 5)  // len(a)=5
// 。 。
// , 。
// 5 , 0, 10
b := make([]int, 5, 10)    // len(b)=5, cap(b)=10
// , 。
b = b[:cap(b)] // len(b)=5, cap(b)=5
b = b[1:]      // len(b)=4, cap(b)=4
// 5
c := []int{1,2,3,4,5}

본 고 에서 말 한 것 이 여러분 의 Go 언어 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기