


Un article pour vous aider à comprendre les opérateurs de base et le contrôle de flux du langage Go
Operator
Operator semble mystérieux, mais en fait on le voit beaucoup plus souvent, comme =
=
,+
,/
,+
,/
et autres. Les opérateurs sont principalement divisés en opérateurs relationnels
-
opérateurs logiques
opérateurs de bits
-
Affectation opérateur
Comprenons brièvement ce qui suit.
Opérateurs arithmétiques
Comme leur nom l'indique, les opérateurs arithmétiques sont principalement utilisés en arithmétique, tels que l'addition, la soustraction, la multiplication et la division.
Une brève introduction est la suivante.
opérateur description Ajouter - Soustraire * Multiplier / Divide % Trouver le reste ++ Ajouté par vous-même - - Auto-décroissante Opérateur Relationnel
Opérateur Description = = Vérifiez si deux valeurs sont égales, si Renvoie True si égal, sinon renvoie False != Vérifiez si les deux valeurs ne sont pas égales, sinon renvoie True sinon renvoie False > Vérifiez si la valeur de gauche est supérieure à la valeur de droite, si c'est le cas, retournez True sinon retournez False >= Vérifiez si la valeur de gauche est supérieure ou égale à la valeur de droite, si c'est le cas, renvoyez True, sinon renvoyez False < Vérifiez la valeur de gauche Est-elle inférieure à la valeur de droite ? Si c'est le cas, renvoyez True Sinon, renvoyez False. Opérateur Logique
Opérateur Description && Logique et opérateur. Vrai si les deux opérandes sont Vrai, sinon Faux || Logique ou opérateur. Vrai si les deux opérandes ont un Vrai, Faux sinon ! Opérateur NON logique. Faux si la condition est Vrai, sinon Vrai Remarque : Les opérateurs logiques sont très importants et sont souvent utilisés dans le développement.
opérateurs de bits
Les opérateurs au niveau du bit sont quelque peu de bas niveau et seront utilisés dans des situations spéciales
Opérateur Description & Participer Les bits binaires correspondant à chacun des deux nombres opérés sont traités par ET. (Il vaut 1 seulement si les deux bits sont 1) | Le OU binaire correspondant de chacun des deux nombres participant à l'opération. (Si l'un des deux bits est 1, c'est 1) ^ Les bits binaires correspondants des deux nombres impliqués dans l'opération sont exclusifs ou. les bits sont différents, le résultat est 1.(Si les deux bits sont différents, c'est 1) << Décaler n bits vers la gauche revient à multiplier par 2 élevé à la nième puissance. "a< >> Le déplacement de n bits vers la droite est divisé par 2 élevé à la nième puissance. "a>>b" décale tous les bits binaires de a vers la droite de b bits. Opérateur d'affectation
L'opérateur d'affectation est également couramment utilisé dans le développement.
Opérateur Description = Simple L'opérateur d'affectation attribue la valeur d'une expression à une lvalue += additionner puis attribuer la valeur -= Soustraire puis attribuer la valeur *= multiplié puis attribué /= Divisez puis attribuez la valeur %= Trouvez le reste et attribuez la valeur < <= Déplacez-vous vers la gauche et attribuez une valeur >>= Déplacez-vous vers la droite et attribuez une valeur & = Affectation après bitwise AND |= OU au niveau du bit puis affectation ^= XOR au niveau du bit puis affectation Contrôle de processus
Dans Go, il existe les types de contrôle de processus suivants.
if
if
étui switch
pour
standard pour
pourla gamme
goto (utilisation avec prudence)
if
syntax
//方式一,一个if if 条件{ //执行语句 } //方式二,if条件不成功执行else if 条件{ //if成功语句 }else{ //if不成功语句 } //方式三,带有else if得 if 条件1{ //if成功语句 }else if 条件2{ //if不成功,继续else if条件 }else{ //上面都不成功,执行else }
Copier après la connexionxamples
package main import "fmt" func main() { var gender = "男" if gender == "男" { fmt.Println("男") } else if gender == "女" { fmt.Println("女") } else { fmt.Println("啥都不是???") } }
Copier après la connexionswitch case
switch case
和if
本质是一个东西,但是在某些场景,switch
是比if
更加简洁的。代码
package main import "fmt" func main() { var week = 3 switch week { case 1: fmt.Println("周一") case 2: fmt.Println("周二") case 3: fmt.Println("周三") case 4: fmt.Println("周四") case 5: fmt.Println("周五") case 6: fmt.Println("周六") case 7: fmt.Println("周日") default://如果上面都没执行,会执行default fmt.Println("星期八????") } }
Copier après la connexion注:在Go中,
switch
是没有case穿透的。Go的
switch
可以case
多个值。package main import "fmt" func main() { var week = 3 switch week { case 1, 2, 3, 4, 5: fmt.Println("上班") case 6: fmt.Println("周六睡懒觉") case 7: fmt.Println("周日去旅游") default: fmt.Println("飞天了???") } }
Copier après la connexionfor
标准for循环
语法
for 初始条件;判断条件;结束条件{ 语句 }
Copier après la connexion代码
package main import "fmt" func main() { for i := 0; i < 10; i++ { fmt.Println(i) } }
Copier après la connexion无限循环
谨慎执行!!!
package main import "fmt" func main() { for{ fmt.Println("666") } }
Copier après la connexionfor range
for ragne
可以很方便循环数组,切片,字符串,map,channel等。遍历数组示例
package main import "fmt" func main() { var student_list = [...]string{"张三", "李四", "王五"} for index, v := range student_list { //index为下标,v是每一个的值 fmt.Println(index, v) } }
Copier après la connexion注:
如果数组,切片,字符串 index是下标,v是值 如果是map index是键,v是对(值) 如果是通道 只有一个值,就是通道内的值
Copier après la connexion补充:
在Go中,只有for循环,没有while。
for循环就两种方式。
goto
goto
可以通过标签在代码间无条件跳转,这就造成了一个局面,如果使用gote
过多,会造成逻辑混乱,跳来跳去。所以,在开发中,要慎用,不到万不得已,不要使用。
示例
package main import "fmt" func main() { for i := 0; i < 10; i++ { for j := 0; j < 10; j++ { if j == 2 { // 直接跳转到下面的 breakTag 标签 goto breakTag } fmt.Printf("%v-%v\n", i, j) } } //要跳转的标签 breakTag: fmt.Println("结束for循环") }
Copier après la connexionCe 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 de ce site WebLe 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.cnOutils d'IA chauds
Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes
AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.
Undress AI Tool
Images de déshabillage gratuites
Clothoff.io
Dissolvant de vêtements AI
AI Hentai Generator
Générez AI Hentai gratuitement.
Article chaud
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌R.E.P.O. Meilleurs paramètres graphiques3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌Assassin's Creed Shadows: Solution d'énigmes de coquille1 Il y a quelques semaines By DDDR.E.P.O. Comment réparer l'audio si vous n'entendez personne3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌WWE 2K25: Comment déverrouiller tout dans Myrise3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌Outils chauds
Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit
SublimeText3 version chinoise
Version chinoise, très simple à utiliser
Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP
Dreamweaver CS6
Outils de développement Web visuel
SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
Quelles bibliothèques sont utilisées pour les opérations du numéro de point flottantes en Go? Apr 02, 2025 pm 02:06 PM
La bibliothèque utilisée pour le fonctionnement du numéro de point flottante dans le langage go présente comment s'assurer que la précision est ...
Quel est le problème avec le fil de file d'attente dans GO's Crawler Colly? Apr 02, 2025 pm 02:09 PM
Problème de threading de file d'attente dans Go Crawler Colly explore le problème de l'utilisation de la bibliothèque Crawler Crawler dans le langage Go, les développeurs rencontrent souvent des problèmes avec les threads et les files d'attente de demande. � ...
Quelles bibliothèques de GO sont développées par de grandes entreprises ou fournies par des projets open source bien connus? Apr 02, 2025 pm 04:12 PM
Quelles bibliothèques de GO sont développées par de grandes entreprises ou des projets open source bien connus? Lors de la programmation en Go, les développeurs rencontrent souvent des besoins communs, ...
Quelle est la différence entre la structure de définition des mots clés `var` et« type »dans le langage Go? Apr 02, 2025 pm 12:57 PM
Deux façons de définir les structures dans le langage GO: la différence entre les mots clés VAR et le type. Lorsque vous définissez des structures, GO Language voit souvent deux façons d'écrire différentes: d'abord ...
Comment résoudre le problème de conversion de type user_id lors de l'utilisation du flux redis pour implémenter les files d'attente de messages dans le langage Go? Apr 02, 2025 pm 04:54 PM
Le problème de l'utilisation de Redessstream pour implémenter les files d'attente de messages dans le langage GO consiste à utiliser le langage GO et redis ...
Dans Go, pourquoi les chaînes d'impression avec println et string () ont-elles des effets différents? Apr 02, 2025 pm 02:03 PM
La différence entre l'impression de chaîne dans le langage go: la différence dans l'effet de l'utilisation de fonctions println et string () est en Go ...
Pourquoi est-il nécessaire de passer des pointeurs lors de l'utilisation de bibliothèques Go et Viper? Apr 02, 2025 pm 04:00 PM
GO POINTER SYNTAXE ET ATTENDRE DES PROBLÈMES DANS LA BIBLIOTHÈQUE VIPER Lors de la programmation en langage Go, il est crucial de comprendre la syntaxe et l'utilisation des pointeurs, en particulier dans ...
Pourquoi toutes les valeurs deviennent-elles le dernier élément lors de l'utilisation de la plage dans le langage GO pour traverser les tranches et stocker des cartes? Apr 02, 2025 pm 04:09 PM
Pourquoi l'itération de la carte dans GO fait-elle que toutes les valeurs deviennent le dernier élément? En langue go, face à des questions d'entrevue, vous rencontrez souvent des cartes ...