"for range"는 Go 언어의 고유한 반복 구조로, 배열, 슬라이스, 문자열, 맵 및 채널을 순회하는 데 사용할 수 있습니다. "for range"의 구문은 foreach 구조와 유사합니다. "for key, val := range coll {...}"입니다. 매개변수 val은 항상 해당 인덱스 값의 복사본입니다. 컬렉션이므로 일반적으로 읽기 전용이므로 수정 사항이 컬렉션의 원래 값에 영향을 미치지 않습니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, GO 버전 1.18, Dell G3 컴퓨터.
for range 구조는 Go 언어의 고유한 반복 구조입니다. for range는 배열, 슬라이스, 문자열, 맵 및 채널을 통과할 수 있으므로 일반적인 구문과 유사합니다. 해당 언어의 foreach 문의 형식은 다음과 같습니다.
for key, val := range coll { ... }
val은 항상 컬렉션에 있는 해당 인덱스 값의 복사본이므로 일반적으로 읽기 전용이며 수정 사항이 적용되지 않습니다. 컬렉션의 원래 값에 영향을 미칩니다. 문자열은 유니코드로 인코딩된 문자(또는 룬)의 모음이므로 문자열을 반복하는 데에도 사용할 수 있습니다.
for pos, char := range str { ... }
각 룬 문자와 인덱스는 for range 루프에서 일대일 대응을 하며, UTF-8 규칙에 따라 유니코드로 인코딩된 문자를 자동으로 인식합니다.
범위 탐색의 반환 값에는 다음과 같은 특정 규칙이 있습니다.
배열, 슬라이스 및 문자열은 인덱스와 값을 반환합니다.
map은 키와 값을 반환합니다.
Channel(채널)은 채널의 값만 반환합니다.
배열 및 슬라이스 탐색 - 인덱스 및 값 가져오기
순회 코드에서 키와 값은 각각 슬라이스의 첨자와 해당 첨자에 해당하는 값을 나타냅니다. 배열은 유사합니다. 순회 방법:
for key, value := range []int{1, 2, 3, 4} { fmt.Printf("key:%d value:%d\n", key, value) }
코드 출력은 다음과 같습니다.
문자열 순회 - 문자 가져오기
Go 언어는 다른 언어와 유사합니다. 범위에 대한 조합입니다. 순회할 때 키와 값은 각각 문자열의 인덱스와 문자열의 각 문자를 나타냅니다.
다음 코드는 문자열을 순회하는 방법을 보여줍니다.
var str = "hello 你好" for key, value := range str { fmt.Printf("key:%d value:0x%x\n", key, value) }
코드 출력은 다음과 같습니다.
코드에서 변수 값의 실제 유형은 룬 유형이고, 16진수로 인쇄하는 것은 인코딩입니다. 캐릭터의.
맵 탐색 - 맵의 키와 값 가져오기
맵 유형의 경우 범위 탐색 시 키와 값은 각각 맵의 인덱스 키 키와 인덱스에 해당하는 값을 나타냅니다. 일반적으로 맵의 키라고 합니다. 값 쌍은 쌍으로 나타나기 때문에 다음 코드는 맵을 탐색하는 방법을 보여줍니다.
m := map[string]int{ "hello": 100, "world": 200, } for key, value := range m { fmt.Println(key, value) }
코드 출력은 다음과 같습니다.
참고:
맵을 순회할 때 순회에 의해 출력되는 키 값은 순서가 지정되지 않은 키 값 쌍 출력이 필요한 경우 결과가 정렬되어야 합니다. 정렬되었습니다.
【관련 추천: Go 비디오 튜토리얼, 프로그래밍 교육】
위 내용은 Go 언어에서 for range의 구조는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!