Maison  >  Article  >  développement back-end  >  Un article pour vous aider à comprendre les bases des opérateurs du langage Go et du contrôle des processus

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

Go语言进阶学习
Go语言进阶学习avant
2023-07-19 15:05:24875parcourir

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
600e25ad8f4bb8ec959a69d876aaaba6> 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
76e26acefb190cac08a2bda5baf81375>= 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
}

xamples

package main

import "fmt"

func main() {
    var gender = "男"

    if gender == "男" {
        fmt.Println("男")
    } else if gender == "女" {
        fmt.Println("女")
    } else {
        fmt.Println("啥都不是???")
  }
}

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("星期八????")
  }
}

注:在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:

for

标准for循环

语法

for 初始条件;判断条件;结束条件{
    语句
}

代码

package main

import "fmt"

func main() {
    for i := 0; i < 10; i++ {
        fmt.Println(i)
  }
}

无限循环

谨慎执行!!!

package main

import "fmt"

func main() {
    for{
        fmt.Println("666")
  }
}

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)
  }
}

注:

如果数组,切片,字符串
  index是下标,v是值
如果是map
  index是键,v是对(值)
如果是通道
  只有一个值,就是通道内的值

补充:

在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循环")

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer