>  기사  >  백엔드 개발  >  Golang 코드의 제어문 기술

Golang 코드의 제어문 기술

WBOY
WBOY원래의
2024-04-07 21:30:011002검색

제어문은 순차문(if/switch), 선택문(for/while/range) 및 루프문(break/continue)을 포함하여 Go에서 프로그램 흐름을 제어하는 ​​데 사용됩니다. 또한 실제 전투 시나리오에서는 사용자가 입력한 쇼핑 목록을 기반으로 제어문을 사용하여 유제품, 주식, 과일, 육류 등 항목을 카테고리별로 그룹화할 수 있습니다.

Golang 代码中控制语句的艺术

Golang 코드의 제어문 기술

제어문은 프로그래밍에서 매우 중요하며 프로그램 실행 흐름을 제어하는 ​​데 사용됩니다. Go 언어는 시퀀스 문, 선택 문, 루프 문을 비롯한 다양한 제어 문 세트를 제공합니다.

순차문

  • if 문: 은 조건이 참인지 아닌지에 따라 코드 블록을 실행하는 데 사용됩니다. 예:
if x > 0 {
  // x 为正数
} else {
  // x 不是正数
}
  • switch 문: 은 값 일치를 기반으로 코드 블록을 실행하는 데 사용됩니다. 예:
switch x {
case 0:
  // x 为 0
case 1:
  // x 为 1
default:
  // x 不是 0 或 1
}

Select 문

  • for 루프: 조건이 false가 될 때까지 코드 블록을 반복적으로 실행합니다. 예:
for i := 0; i < 10; i++ {
  // 执行代码块
}
  • while 루프: 조건이 true인 동안 코드 블록을 반복적으로 실행합니다. 예:
while x > 0 {
  // 执行代码块
  x--
}
  • 범위 루프: 컬렉션의 요소를 반복하고 각 요소에 대해 코드 블록을 실행합니다. 예:
for k, v := range m {
  // k 为键,v 为值
}

Loop 문

  • break 문: 즉시 루프를 종료합니다. 예:
for i := 1; i <= 10; i++ {
  if i == 5 {
    break
  }
}
  • continue 문: 현재 루프 반복을 건너뛰고 다음 반복을 계속 실행합니다. 예:
for i := 1; i <= 10; i++ {
  if i % 2 == 1 {
    continue
  }
  // 只执行偶数
}

실용 사례

다음 시나리오를 고려해보세요. 쇼핑 목록이 포함된 사용자 입력을 처리하는 것입니다. 목록의 항목을 카테고리로 그룹화하고 싶습니다.

코드:

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 "其他"
  }
}

이 예에서는 일련의 if 문을 사용하여 항목을 다양한 범주로 분류하고 for 루프를 사용하여 입력 목록을 반복하고 결과를 인쇄합니다.

위 내용은 Golang 코드의 제어문 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.