Maison  >  Article  >  développement back-end  >  Est-ce que la langue a du temps ?

Est-ce que la langue a du temps ?

青灯夜游
青灯夜游original
2023-01-07 14:20:504228parcourir

Il n'y a pas de mot-clé while dans le langage Go, et les structures de boucle while et do-while ne sont pas prises en charge. Fonctionnellement parlant, tout ce que l'instruction while peut faire, l'instruction for peut également le réaliser, de sorte que le langage Go unifie l'instruction for et l'instruction while. De plus, l'équipe de développement de Go souffre d'une grave mysophobie. Bien que ce ne soit pas une option nécessaire et offre aux développeurs plusieurs façons de choisir, il est facile pour les développeurs de se perdre et de rendre difficile le choix. choisir et forcer chacun à unifier le style.

Est-ce que la langue a du temps ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.

Il n'y a pas de mot-clé while dans le langage Go, et les structures de boucle while et do-while ne sont pas prises en charge.

Les instructions de boucle sont utilisées pour exécuter des instructions de manière répétée dans certains programmes.

Les instructions de boucle courantes dans les langages de programmation incluent les instructions while, les instructions do-while et les instructions for. Mais il n'y a que pour le langage Go, et il n'y a pas d'instruction while. Fonctionnellement parlant, tout ce que l'instruction while peut faire, l'instruction for peut également le faire. Par conséquent, le langage Go unifie les instructions for et while.

Et l'équipe de développement de Go souffre d'une grave mysophobie. Bien que ce ne soit pas une option nécessaire, il offre aux développeurs plusieurs façons de choisir. Il est donc facile pour les développeurs de se perdre et de rendre difficile le choix. une chance de choisir et de forcer tout le monde à le faire.

for déclaration

Il existe trois types de déclarations for en langage Go :

La première :

for init; condition; post {
	...	
}
  • init Il s'agit généralement d'une expression d'affectation utilisée pour initialiser les variables de contrôle de boucle et d'autres variables.
  • état Expressions relationnelles et expressions logiques utilisées pour indiquer les conditions de contrôle de boucle.
  • post Il s'agit généralement d'une expression d'affectation, utilisée pour augmenter ou diminuer les variables de contrôle de boucle

Les trois points ci-dessus sont équivalents à l'instruction for dans d'autres langages de programmation, donc la première façon d'écrire est équivalente au for déclaration dans d'autres langues. 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语言也使用下划线_

La deuxième façon :

for _,e := range nums {
	...
}
La deuxième façon d'écrire est équivalente à l'instruction while dans d'autres langues. Étant donné que l'instruction for de Go n'a pas de parenthèses, la suppression de init et post est complètement équivalente à l'instruction while. Par conséquent, Go n'introduit pas le mot-clé while et utilise directement l'instruction for pour implémenter l'instruction while.

🎜La troisième façon : 🎜🎜
🎜rrreee🎜🎜La troisième façon d'écrire est équivalente à for(;;) dans d'autres langues, et est également équivalente à while(true). 🎜🎜Exemple : 🎜🎜rrreee🎜🎜🎜🎜for-each range🎜🎜🎜🎜Le format de plage de la boucle for en langage Go peut itérer une tranche, une carte, un tableau, une chaîne et d'autres types. Le format est le suivant : 🎜🎜 rrreee🎜🎜Exemple : 🎜🎜rrreee🎜🎜Comme Python, le langage Go utilise également des traits de soulignement _ pour capturer les valeurs de retour inutiles. 🎜🎜rrreee🎜【Recommandations associées : 🎜Tutoriel vidéo Go🎜, 🎜Enseignement de la programmation🎜】🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn