PHP 편집기 Baicao에서는 코드 효율성을 높이기 위해 슬라이스 초기화 시 초기값과 용량을 모두 사용하는 방법을 소개합니다. PHP에서 슬라이스는 필요에 따라 동적으로 늘리거나 줄일 수 있는 동적 배열입니다. 일반적으로 슬라이스를 초기화할 때 초기값을 지정할 수 있지만 용량을 직접 지정할 수는 없습니다. 하지만 초기값과 용량을 모두 사용하여 슬라이스를 초기화하는 트릭이 있으니 살펴보겠습니다!
코드의 일부는 다음과 같습니다.
으아악Slicesfibbo
在c++中没有像向量
那样的reserved
函数来为切片保留estimatedsize
용량 확장 시 복사 시간을 줄여줍니다. 따라서 초기화 시 예상 크기만 용량에 할당할 수 있습니다. 그러나 다음 중 어느 것도 합법적이지 않습니다.
이 문제에 대한 해결책이 있나요? 아니면 서투른 코드이고 다음이 유일한 방법일까요?
const estimatedsize = 10000 var init_arr = [...]int{1,1,2,3,5,8,13} var fibbo []int = make([]int, len(init_arr), estimatedsize) }
아니요, 불가능합니다. 이는 디자인 결정을 이끈 Go 디자인 철학의 일부입니다: "복잡함을 숨기지 마세요
."귀하의 "투박한" 코드는 실제로 이동 중에 이 작업을 수행하는 데 선호되고 관용적인 방법이지만 한 가지 작은 변화가 있습니다.
으아악 내가 변경한 유일한 변경 사항은 형식을 제외하고 var
선언에서 유형을 제거하는 것이었습니다. 이는 완전히 중복되었기 때문입니다. 즉,
댓글에서 지적했듯이 입력에 다른 변경 사항을 적용하지 않으면 내장 copy
을 사용하여 for 루프를 제거할 수도 있습니다.
위 내용은 초기값과 용량을 모두 사용하여 슬라이스를 초기화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!