Rumah > pembangunan bahagian belakang > Golang > Seni penyataan kawalan dalam kod Golang

Seni penyataan kawalan dalam kod Golang

WBOY
Lepaskan: 2024-04-07 21:30:01
asal
1050 orang telah melayarinya

控制语句在 Go 中用于控制程序流,包括顺序语句(if/switch)、选择语句(for/while/range)和循环语句(break/continue)。此外,实战场景中,根据用户输入的购物清单,利用控制语句可以将物品按类别分组,如乳制品、主食、水果、肉类等。

Golang 代码中控制语句的艺术

Golang 代码中控制语句的艺术

控制语句在编程中至关重要,用于控制程序执行流。Go 语言提供了丰富的控制语句集,包括顺序语句、选择语句和循环语句。

顺序语句

  • if 语句:用于执行取决于条件是否为真的代码块。例如:
if x > 0 {
  // x 为正数
} else {
  // x 不是正数
}
Salin selepas log masuk
  • switch 语句:用于根据值匹配执行代码块。例如:
switch x {
case 0:
  // x 为 0
case 1:
  // x 为 1
default:
  // x 不是 0 或 1
}
Salin selepas log masuk

选择语句

  • for 循环:重复执行代码块,直到条件为假。例如:
for i := 0; i < 10; i++ {
  // 执行代码块
}
Salin selepas log masuk
  • while 循环:重复执行代码块,只要条件为真。例如:
while x > 0 {
  // 执行代码块
  x--
}
Salin selepas log masuk
  • range 循环:遍历集合中的元素,并为每个元素执行代码块。例如:
for k, v := range m {
  // k 为键,v 为值
}
Salin selepas log masuk

循环语句

  • break 语句:立即退出循环。例如:
for i := 1; i <= 10; i++ {
  if i == 5 {
    break
  }
}
Salin selepas log masuk
  • continue 语句:跳过当前循环迭代,继续执行下一迭代。例如:
for i := 1; i <= 10; i++ {
  if i % 2 == 1 {
    continue
  }
  // 只执行偶数
}
Salin selepas log masuk

实战案例

考虑以下场景:处理用户的输入,其中包含购物清单。我们想将清单中的项目分组到不同类别中。

代码:

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 "其他"
  }
}
Salin selepas log masuk

在这个例子中,我们使用一系列 if 语句来将物品归类到不同的类别中,并使用 for 循环来遍历输入列表和打印结果。

Atas ialah kandungan terperinci Seni penyataan kawalan dalam kod Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan