Maison > développement back-end > Golang > le corps du texte

Un article pour vous aider à comprendre les bases des opérateurs du langage Go et du contrôle des processus

Libérer: 2023-07-20 11:02:07
avant
891 Les gens l'ont consulté

Operator

Le nom d'opérateur 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, comme l'addition, la soustraction, la multiplication et la division

Veuillez comprendre brièvement ci-dessous.

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érateurDescription
&& 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 au niveau du bit

Les opérateurs au niveau du bit sont quelque peu de bas niveau et seront utilisés dans des situations spéciales

OpérateurDescription
& 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 connexion

xamples

package main

import "fmt"

func main() {
    var gender = "男"

    if gender == "男" {
        fmt.Println("男")
    } else if gender == "女" {
        fmt.Println("女")
    } else {
        fmt.Println("啥都不是???")
  }
}
Copier après la connexion

switch case

switch caseif本质是一个东西,但是在某些场景,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:
Copier après la connexion

for

标准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 connexion

for 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 connexion

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!

Étiquettes associées:
go
source:Go语言进阶学习
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal