首页 > 其他分享 >go--条件判断 if、switch

go--条件判断 if、switch

时间:2023-11-23 21:12:59浏览次数:21  
标签:case -- fmt else rmb Println switch go main

if

基本语法

if 条件A{
    ...
}else if 条件B{
    ...
}else if 条件C{
    ...
}else{
    ...
}

例子

package main

import "fmt"

func main() {
   var fruit string = "6 个苹果"
   var watermelon bool = false
   if watermelon { // watermelon 为 true 时,执行里面的代码,可以不写 else
      fruit = "1 个苹果"
   }
   fmt.Printf(fruit)
}

例子:用户输入姓名,判断是否正确

package main

import "fmt"

func main() {
   var name string
   fmt.Print("请输入姓名:")
   fmt.Scanln(&name)
   if name == "zouzou" {
      // 正确时执行
      fmt.Println("用户名输入正确")
   } else {
      //错误时执行
      fmt.Println("用户名输入错误")
   }

}

例子:用户输入数字,判断奇数、偶数

package main

import "fmt"

func main() {
   var number int
   fmt.Print("请输入数字:")
   fmt.Scanln(&number)
   if number%2 == 0 { // 取余数
      fmt.Println("您输入的是偶数")
   } else {
      fmt.Println("您输入的是奇数")
   }

}

例子:用户输入用户名和密码,判断用户名密码是否正确

package main

import "fmt"

func main() {
   var username, password string
   fmt.Print("请输入用户名:")
   fmt.Scanln(&username)

   fmt.Print("请输入密码:")
   fmt.Scanln(&password)

   if username == "zouzou" && password == "admin" {
      //  && 表示并且的意思,|| 表示或者的意思
      fmt.Println("欢迎登录")
   } else {
      fmt.Println("用户名或密码错误")
   }

}

if ...else if...else

package main

import "fmt"

func main() {
   var rmb int
   rmb = 188

   if rmb <= 20 {
      // 如果不超过20,点个外卖
      fmt.Println("点个外卖")
   } else if rmb <= 200 {
      //如果不超过200,下个馆子
      fmt.Println("下个馆子")

   } else if rmb <= 2000 {
      //如果不超过2000,去米其林
      fmt.Println("去米其林")

   } else if rmb <= 20000 {
      // 如果不超过 20000,去新马泰
      fmt.Println("去新马泰")

   } else {
      //如果在多,容我想想
      fmt.Println("钱太多了,容我想想")
   }
}

switch

switch 语句用于基于不同条件执行不同的动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止

在 go 中,默认是有 break 的,不需要加 break。如果想去掉 break,继续往下执行的话,需要加上 fallthrough

package main

import "fmt"

func main() {
   var rmb int
   rmb = 20000
   switch rmb { //会判断 rmb 的值,为多少的时候,执行 case 后面对应的代码
   case 20: // rmb 为 20 的时候,执行这个case下面的
      fmt.Println("点个外卖")
   case 200:
      fmt.Println("下个馆子")
   case 2000: // rmb 为 2000 的时候,执行这个case下面的
      fmt.Println("去米其林")
   case 20000:
      fmt.Println("去新马泰")
   default: // 都不满足的时候,会走这个
      fmt.Println("容我想想")
   }

}

注意:case 后面可以跟多个值,中间用 , 隔开

例如

package main

import "fmt"

func main() {
   var rmb int
   rmb = 20000
   switch rmb { 
   case 20: 
      fmt.Println("点个外卖")
   case 200, 300: // 多个条件,中间用 ,隔开
      fmt.Println("下个馆子")
   case 2000: 
      fmt.Println("去米其林")
   case 20000:
      fmt.Println("去新马泰")
   default: 
      fmt.Println("容我想想")
   }

}

case 后面也可以用区间

把条件写在 case 后面就可以了

package main

import "fmt"

func main() {
   scope := 66
   grade := ""
   switch { // 条件可以不放在 switch 里面
   case scope >= 90: // 条件放在 case 后面
      grade = "A"
   case scope >= 80 && scope <= 89:
      grade = "B"
   case scope >= 70 && scope <= 79:
      grade = "C"
   case scope >= 60 && scope <= 69:
      grade = "D"
   default:
      grade = "E"
   }
   fmt.Println(grade)
}

 

标签:case,--,fmt,else,rmb,Println,switch,go,main
From: https://www.cnblogs.com/zouzou-busy/p/16090823.html

相关文章

  • Cookie session
    今日概要【零】发展史一开始:只有一个页面,没有登录功能,大家看到东西都一样新闻时代发展,出现了需要登录注册的网站,要有一门技术存储我们的登录信息京东、天猫cookie存储形式:k:v键值对存储位置:客户端不安全,信息可能会泄露时代发展,需要有一门新的安全的技术sess......
  • FB自动发帖机器人
    探索FB自动发帖机器人:便利与潜在风险 在当今社交媒体时代,Facebook(FB)作为全球最大的社交网络平台之一,已经成为人们分享信息、交流观点和建立社交关系的重要场所。随着人工智能技术的不断发展和应用,FB自动发帖机器人应运而生,它们可以根据预设的规则或算法自动发布内容,为用户节省......
  • 模板语法之句点符的深度查询
     views.py:defindex(request):num=10ss='lqzishandsome'b=Falsell=[1,2,43,{'name':'egon'}]dic={'name':'lqz','age':18}deftest():print('我是tes......
  • cbv本质 前后端交互编码方式
    #1请来了,路由匹配成功执行path('index/',views.Index.as_view()), 执行views.Index.as_view()()#2本质是执行as_view()内部有个闭包函数view()#3本质是view()---》dispatch()#4dispatch内部,根据请求的方法(get,post)---->执行视图类中的defgetdefpost     ......
  • 2023-2024-1 20232421邓锴 《网络空间安全导论》 第2周学习总结
    教材学习总结了解密码的来源与发展ENIGMA机的构造以及机理信息论的基本观点了解现代密码学发展以及面临的挑战密码学理论基础(数学知识)密码学的新进展以及未来方向思维导图教材学习中的问题和解决问题问题1:ENIGMA机的构造以及机理了解不清问题1解决办法:查询图片→查找......
  • 虚拟机linux系统配置安装redis(每日总结11.23)
    1.进入到root模式下cd/export/server/2.下载wgethttp://download.redis.io/releases/redis-5.0.7.tar.gz3.解压tar-zvxfredis-5.0.7.tar.gz4.把文件移动到redis文件夹里mvredis-5.0.7/export/server/redis5.进入redis文件夹里cdredis6.编译m......
  • 聪明办法学python chap2数据类型与操作 3变量与函数
    Python(二)数据类型与操作类型print(type(2))#整型intprint(type(2.2))#浮点型floatprint(type(2>3.4))#布尔型boolprint(type(type(2)))#类型typeprint(t......
  • django模板使用的两种方式 模板语法之变量
    模板语法之变量DTL:DjangoTemplateLanguage1模板中使用{{python变量}}############views.pydefindex(request):num=10ss='lqzishandsome'b=Falsell=[1,2,43]dic={'name':'lqz','age':18}deftes......
  • Joint Autoregressive and Hierarchical Priors for Learned Image Compression
    abstruct最近的图像压缩模型基于自编码器,学习近似可逆的映射(从像素到量化的可逆表示),这些与熵模型(潜在表示的先验)结合,可以与标准算术编码算法一起使用产生压缩比特流。与简单的全因子先验相比,分层熵模型可以利用更多潜变量中的结构,从而在保存端到端优化的同时提高压缩性能。众所周......
  • Java8 日期时间
    概念彻底弄懂GMT、UTC、时区和夏令时java中的时间与时区:LocalDateTime和DateUTCpublicstaticInstantjava.time.Instant#now(){returnClock.systemUTC().instant();}UTC(CoodinatedUniversalTime),协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英......