Home  >  Article  >  Backend Development  >  The art of control statements in Golang code

The art of control statements in Golang code

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

Control statements are used to control program flow in Go, including sequential statements (if/switch), selection statements (for/while/range) and loop statements (break/continue). In addition, in actual combat scenarios, based on the shopping list input by the user, control statements can be used to group items by category, such as dairy products, staple foods, fruits, meat, etc.

Golang 代码中控制语句的艺术

The art of control statements in Golang code

Control statements are crucial in programming and are used to control the flow of program execution. The Go language provides a rich set of control statements, including sequence statements, selection statements and loop statements.

Sequential Statement

  • if statement: is used to execute a block of code that depends on whether a condition is true. For example:
if x > 0 {
  // x 为正数
} else {
  // x 不是正数
}
  • switch statement: is used to execute a code block based on value matching. For example:
switch x {
case 0:
  // x 为 0
case 1:
  // x 为 1
default:
  // x 不是 0 或 1
}

Select statement

  • for loop: Repeatedly execute the code block until the condition is false. For example:
for i := 0; i < 10; i++ {
  // 执行代码块
}
  • while loop: Repeatedly executes a block of code as long as the condition is true. For example:
while x > 0 {
  // 执行代码块
  x--
}
  • range Loop: Loop through the elements in the collection and execute a block of code for each element. For example:
for k, v := range m {
  // k 为键,v 为值
}

Loop statement

  • break statement: Exit the loop immediately. For example:
for i := 1; i <= 10; i++ {
  if i == 5 {
    break
  }
}
  • continue statement: Skip the current loop iteration and continue to the next iteration. For example:
for i := 1; i <= 10; i++ {
  if i % 2 == 1 {
    continue
  }
  // 只执行偶数
}

Practical case

Consider the following scenario: processing user input, which contains a shopping list. We want to group the items in the list into categories.

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 this example, we use a series of if statements to classify items into different categories, and a for loop to iterate through the input List and print results.

The above is the detailed content of The art of control statements in Golang code. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn