>  기사  >  백엔드 개발  >  슬라이스가 예상치 못한 길이를 반환합니다.

슬라이스가 예상치 못한 길이를 반환합니다.

WBOY
WBOY앞으로
2024-02-09 10:21:29686검색

슬라이스가 예상치 못한 길이를 반환합니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제