0
사용자 정의 유형에 이르기까지는 Ranger
인터페이스가없는 것으로 보입니다. 비슷한 것이 있습니까? 또는 유형을 슬라이스 나 맵으로 변환하는 메소드를 만들어야합니까?`type x [] struct` 또는`type y struct` 이상의 범위는 무엇입니까?
편집 : 당연히 x를 [] 구조체로 변환 할 수는 있지만 근본적인 x 유형을 변경하는 것이 어려워집니다.
사용자 정의 유형에 이르기까지는 Ranger
인터페이스가없는 것으로 보입니다. 비슷한 것이 있습니까? 또는 유형을 슬라이스 나 맵으로 변환하는 메소드를 만들어야합니까?`type x [] struct` 또는`type y struct` 이상의 범위는 무엇입니까?
편집 : 당연히 x를 [] 구조체로 변환 할 수는 있지만 근본적인 x 유형을 변경하는 것이 어려워집니다.
for
변형의 range
변형은 조각 모음, 맵, 문자열 또는 채널의 이름이 변경되지 않은 사용자 지정 모음으로 확장 할 수 없습니다. Ranger
인터페이스 나 그와 같은 것이 없습니다. 사용자 정의 형식을 통해 다양하고 싶다면,이 같은 for
-loop을 사용하는 것이 좋습니다 : Next()
이 방법은
for x, eof := col.Next(); x, eof = col.Next(); !eof {
// ...
}
을 그 같은 서명하여 컬렉션을 반복 :
func (*MyCollection) Next() (ItemType x, bool eof)
당신이 할 수 이 문제의 예를 게시 하시겠습니까? 당신이 묻는 것을 시각화하는 데 어려움을 겪고 있습니다. – abalos
'for' 문의 범위 절이 사용자 정의 유형에도 적용됩니다. [Go Playground에서의이 예] (http://play.golang.org/p/HSDGKWYhLq)를 확인하십시오. – icza
@icza "사용자 정의"유형이 이름이 변경된 원시 유형 인 경우에만 "범위 지정"할 수 있습니다. – fuz