Go 언어에는 while 키워드가 없으며 while 및 do-while 루프 구조는 지원되지 않습니다. 기능적으로 말하면 while 문이 수행할 수 있는 모든 작업은 for 문에서도 수행할 수 있으므로 Go 언어는 for 문과 while 문을 통합합니다. 게다가 Go 개발팀은 심각한 결점을 가지고 있지만, 개발자가 선택할 수 있는 다양한 방법을 제공하므로 선택의 기회를 주지 않습니다. 모두가 스타일을 통일하도록 선택하고 강요하십시오.
이 튜토리얼의 운영 환경: Windows 7 시스템, GO 버전 1.18, Dell G3 컴퓨터.
Go 언어에는 while 키워드가 없으며, while 및 do-while 루프 구조가 지원되지 않습니다.
Loop 문은 특정 프로그램에서 명령문을 반복적으로 실행하는 데 사용됩니다.
프로그래밍 언어의 일반적인 루프 문에는 while 문, do-while 문 및 for 문이 포함됩니다. 하지만 Go언어에는 언어용만 있고 while문은 없습니다. 기능적으로 말하면 while 문이 수행할 수 있는 모든 작업은 for 문도 수행할 수 있습니다. 따라서 Go 언어는 for 문과 while 문을 통합합니다.
그리고 Go 개발팀은 심각한 결벽증을 가지고 있습니다. 하지만 개발자가 선택할 수 있는 다양한 방법을 제공하므로 선택을 어렵게 만듭니다. 모두가 그렇게 하도록 선택하고 강요할 수 있는 기회입니다.
for 문
Go 언어에는 세 가지 유형의 for 문이 있습니다.
첫 번째 문:
for init; condition; post { ... }
위 세 가지 사항은 다른 프로그래밍 언어의 for 문과 동일하므로 첫 번째 작성 방법은 for</code와 동일합니다. > 다른 언어로 된 진술. <code>for
语句。
第二种:
for condition { ... }
第二种写法等价于其他语言的while
语句。因为Go的for语句使不写括号的,因此删掉init
和post
就完全等价于了while语句。因此Go没有引入while这个关键字,直接使用for语句实现while语句。
第三种:
for { ... }
第三种写法等价于其他语言的for(;;)
,也等价于while(true)
。
实例:
package main import "fmt" func main() { res := 1 n := 10 for i:=1; i<=n; i++ { res *= i } fmt.Println(n,"的阶乘是",res) } // 10 的阶乘是 3628800
for-each range
Go语言中for循环的range格式可以迭代slice、map、数组、字符串等类型,格式如下:
for k, v := range oldMap { newMap[k] = v }
实例:
package main import "fmt" func main() { nums := [5]int{1, 2, 3, 4, 5} for i,e := range nums { fmt.Println("索引", i, "位置上的数值为", e) } } // 索引 0 位置上的数值为 1 // 索引 1 位置上的数值为 2 // 索引 2 位置上的数值为 3 // 索引 3 位置上的数值为 4 // 索引 4 位置上的数值为 5
同Python,Go语言也使用下划线_
for _,e := range nums { ... }
while
문과 동일합니다. Go의 for 문에는 괄호가 포함되어 있지 않으므로 init
및 post
를 삭제하는 것은 while 문과 완전히 동일합니다. 따라서 Go에서는 while 키워드를 도입하지 않고 for 문을 직접 사용하여 while 문을 구현합니다. for(;;)
와 동일하며 동안(true). 🎜🎜예: 🎜🎜rrreee🎜🎜🎜🎜각 범위🎜🎜🎜🎜Go 언어에서 for 루프의 범위 형식은 슬라이스, 맵, 배열, 문자열 및 기타 유형을 반복할 수 있습니다. 🎜🎜 rrreee🎜🎜예: 🎜🎜rrreee🎜🎜Python과 마찬가지로 Go 언어도 불필요한 반환 값을 잡기 위해 밑줄 _
를 사용합니다. 🎜🎜rrreee🎜【관련 추천: 🎜Go 비디오 튜토리얼🎜, 🎜프로그래밍 교육🎜】🎜🎜위 내용은 Go 언어에는 시간이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!