Heim  >  Artikel  >  Backend-Entwicklung  >  Die Kunst der Kontrollanweisungen im Golang-Code

Die Kunst der Kontrollanweisungen im Golang-Code

WBOY
WBOYOriginal
2024-04-07 21:30:01998Durchsuche

Steueranweisungen werden zur Steuerung des Programmflusses in Go verwendet, einschließlich sequentieller Anweisungen (if/switch), Auswahlanweisungen (for/while/range) und Schleifenanweisungen (break/continue). Darüber hinaus können in tatsächlichen Kampfszenarien basierend auf der vom Benutzer eingegebenen Einkaufsliste Steueranweisungen verwendet werden, um Artikel nach Kategorien zu gruppieren, z. B. Milchprodukte, Grundnahrungsmittel, Obst, Fleisch usw.

Golang 代码中控制语句的艺术

Die Kunst der Kontrollanweisungen im Golang-Code

Kontrollanweisungen sind in der Programmierung von entscheidender Bedeutung und werden zur Steuerung des Ablaufs der Programmausführung verwendet. Die Go-Sprache bietet einen umfangreichen Satz an Steueranweisungen, einschließlich Sequenzanweisungen, Auswahlanweisungen und Schleifenanweisungen.

Sequentielle Anweisungen

  • if-Anweisung: wird verwendet, um einen Codeblock auszuführen, der davon abhängt, ob eine Bedingung wahr ist oder nicht. Zum Beispiel:
if x > 0 {
  // x 为正数
} else {
  // x 不是正数
}
  • switch-Anweisung: wird verwendet, um einen Codeblock basierend auf der Wertübereinstimmung auszuführen. Zum Beispiel:
switch x {
case 0:
  // x 为 0
case 1:
  // x 为 1
default:
  // x 不是 0 或 1
}

Select-Anweisung

  • for-Schleife: Führen Sie wiederholt einen Codeblock aus, bis die Bedingung falsch ist. Zum Beispiel:
for i := 0; i < 10; i++ {
  // 执行代码块
}
  • while-Schleife: Führt wiederholt einen Codeblock aus, solange die Bedingung wahr ist. Zum Beispiel:
while x > 0 {
  // 执行代码块
  x--
}
  • Range-Schleife: Durchlaufen Sie die Elemente in der Sammlung und führen Sie für jedes Element einen Codeblock aus. Zum Beispiel:
for k, v := range m {
  // k 为键,v 为值
}

Loop-Anweisung

  • break-Anweisung: Verlassen Sie die Schleife sofort. Zum Beispiel:
for i := 1; i <= 10; i++ {
  if i == 5 {
    break
  }
}
  • continue-Anweisung: Überspringen Sie die aktuelle Schleifeniteration und fahren Sie mit der Ausführung der nächsten Iteration fort. Zum Beispiel:
for i := 1; i <= 10; i++ {
  if i % 2 == 1 {
    continue
  }
  // 只执行偶数
}

Praktischer Fall

Stellen Sie sich das folgende Szenario vor: Verarbeitung von Benutzereingaben, die eine Einkaufsliste enthalten. Wir möchten die Elemente in der Liste in Kategorien gruppieren.

Code:

package main

import (
  "fmt"
  "strconv"
  "strings"
)

func main() {
  var input string
  fmt.Print("输入购物清单(以逗号分隔):")
  fmt.Scanln(&input)

  categories := make(map[string][]string)

  for _, item := range strings.Split(input, ",") {
    item = strings.TrimSpace(item)
    category := getCategory(item)
    categories[category] = append(categories[category], item)
  }

  for category, items := range categories {
    fmt.Println(category)
    for _, item := range items {
      fmt.Println("  ", item)
    }
  }
}

func getCategory(item string) string {
  switch {
  case strings.Contains(item, "牛奶") || strings.Contains(item, "鸡蛋"):
    return "乳制品"
  case strings.Contains(item, "面包") || strings.Contains(item, "大米"):
    return "主食"
  case strings.Contains(item, "苹果") || strings.Contains(item, "香蕉"):
    return "水果"
  case strings.Contains(item, "鱼") || strings.Contains(item, "肉"):
    return "肉类"
  default:
    return "其他"
  }
}

In diesem Beispiel verwenden wir eine Reihe von if-Anweisungen, um Elemente in verschiedene Kategorien zu klassifizieren, und eine for-Schleife, um die Eingabeliste zu durchlaufen und die Ergebnisse auszudrucken.

Das obige ist der detaillierte Inhalt vonDie Kunst der Kontrollanweisungen im Golang-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn