GO 언어 슬라이스에 대한 -공유 메모리 및 트랩 에서
append()
append()
슬라이싱 용량을 이해하십시오
하위 슬라이싱 를 얻으십시오
용량
원래 슬라이스의 용량을 뺀 하위 슬라이스의 시작 지수를 계산했습니다.
<code class="language-go">type slice struct { array unsafe.Pointer // 指向底层数组的指针 len int // 切片中的元素数量 cap int // 底层数组的容量 }</code>
subslice
이 경우 는 원래 용량이 초과 되었기 때문에 새로운 기본 배열을 만들었습니다.
트랩을 피하는 모범 사례 subslice
용량을 명확히하십시오
> ii. 그런 다음 메모리 참조 대신 값 만 전송합니다. 이것은 원본 파일을 공유하는 대신 파일 사본과 같습니다.
append()
완전한 슬라이스 표현식
append()
> ii. 술회 행동 : 입력에 대한 함수의 효과는 숨기지 않습니다 .> iii. 병렬 보안 : 처리 프로세스 중에 원래 데이터는 다른 Goroutine에서 안전하게 사용할 수 있습니다. 기억하십시오 :
위 내용은 GO 슬라이스 및 하위 슬라이스 : 공유 메모리 이해 및`acpend ()`함정을 피하십시오.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!