>  기사  >  백엔드 개발  >  Go 언어에는 시간이 있나요?

Go 언어에는 시간이 있나요?

青灯夜游
青灯夜游원래의
2023-01-07 14:20:504184검색

Go 언어에는 while 키워드가 없으며 while 및 do-while 루프 구조는 지원되지 않습니다. 기능적으로 말하면 while 문이 수행할 수 있는 모든 작업은 for 문에서도 수행할 수 있으므로 Go 언어는 for 문과 while 문을 통합합니다. 게다가 Go 개발팀은 심각한 결점을 가지고 있지만, 개발자가 선택할 수 있는 다양한 방법을 제공하므로 선택의 기회를 주지 않습니다. 모두가 스타일을 통일하도록 선택하고 강요하십시오.

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 {
	...	
}
  • init 일반적으로 할당식으로 루프 제어 변수 및 기타 변수를 초기화하는 데 사용됩니다.
  • 조건 루프 제어 조건을 나타내는 데 사용되는 관계식 및 논리식입니다.
  • 게시물 일반적으로 루프 제어 변수를 늘리거나 줄이는 데 사용되는 할당 표현식입니다

위 세 가지 사항은 다른 프로그래밍 언어의 for 문과 동일하므로 첫 번째 작성 방법은 for와 동일합니다. > 다른 언어로 된 진술. for语句。

第二种:

for condition {
	...
}

第二种写法等价于其他语言的while语句。因为Go的for语句使不写括号的,因此删掉initpost就完全等价于了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 문에는 괄호가 포함되어 있지 않으므로 initpost를 삭제하는 것은 while 문과 완전히 동일합니다. 따라서 Go에서는 while 키워드를 도입하지 않고 for 문을 직접 사용하여 while 문을 구현합니다.

🎜세 번째 방법: 🎜🎜
🎜rrreee🎜🎜 세 번째 작성 방법은 다른 언어의 for(;;)와 동일하며 동안(true). 🎜🎜예: 🎜🎜rrreee🎜🎜🎜🎜각 범위🎜🎜🎜🎜Go 언어에서 for 루프의 범위 형식은 슬라이스, 맵, 배열, 문자열 및 기타 유형을 반복할 수 있습니다. 🎜🎜 rrreee🎜🎜예: 🎜🎜rrreee🎜🎜Python과 마찬가지로 Go 언어도 불필요한 반환 값을 잡기 위해 밑줄 _를 사용합니다. 🎜🎜rrreee🎜【관련 추천: 🎜Go 비디오 튜토리얼🎜, 🎜프로그래밍 교육🎜】🎜🎜

위 내용은 Go 언어에는 시간이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.