php 편집기 Youzi는 슬라이싱 작업을 사용할 때 예상치 못한 길이를 반환하는 문제에 자주 직면합니다. 슬라이싱 작업은 일반적으로 사용되는 배열 작업 중 하나이며 시작 위치와 끝 위치를 지정하여 배열의 일부 요소를 얻을 수 있습니다. 그러나 때로는 반환된 슬라이스 길이가 예상과 다른 경우가 있는데, 이는 일반적인 실수나 오해로 인해 발생할 수 있습니다. 이번 글에서는 슬라이싱 작업 중에 발생할 수 있는 문제를 자세히 소개하고, 슬라이싱 작업을 더 잘 이해하고 사용하는 데 도움이 되는 솔루션을 제공합니다.
golang 작업을 하다가 멈춰서 헷갈렸습니다.
으아악출력은
으아악월 슬라이스에는 12개의 요소가 있지만 cap(month)
및 len(month)
는 13
을 반환합니다. 이유는 무엇입니까? cap(month)
和 len(month)
返回 13
,为什么?
首先,month
是一个数组 - 不是切片 - 其类型为 [13]string
。只需查看其类型,我们就知道它有 13 个元素(长度),而切片的类型为 []string
0
处为数组指定 string
우선, month
는 슬라이스가 아닌 배열이고 유형은 [13]string
입니다. 유형만 보면 13개의 요소(길이)가 있고 슬라이스 유형이 []string
이라는 것을 알 수 있습니다.
배열 및 슬라이스 인덱싱은 1이 아닌 0부터 시작됩니다. 색인을 생성하지 않으므로
값:
으아악
string
다음과 동일합니다:
으아악
즉,
0값 ...
替换为 13
(즉, 빈 문자열)이 첫 번째 요소로 제공됩니다.
저는
을 가지고 있습니다. 줄임표는 컴파일러에게 이니셜라이저를 기반으로 배열의 길이(해당 유형의 일부)를 추론하도록 지시합니다.
month
的长度仍将为 13
초기화로 배열 리터럴 대신 슬라이스 리터럴을 사용하는 경우에도:
위 내용은 슬라이스가 예상치 못한 길이를 반환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!