go循环字符串和switch case的四种写法
循环字符串
使用range 可以循环中文和英文
package main
import ("fmt")
// 入口函数
func main() {
str:="hello你好go"
for key,value:=range str{
fmt.Printf("key:%v, value:%c\n",key,value)
}
}
key:0, value:h
key:1, value:e
key:2, value:l
key:3, value:l
key:4, value:o
key:5, value:你
key:8, value:好
key:11, value:g
key:12, value:o
%v 和%v的区别
循环切片中的每个值
切片就是我们说的数组
package main
import ("fmt")
// 入口函数
func main() {
arr:= []string{"hello","world", "张三"}
for _,value:=range arr{
fmt.Println(value)
}
}
switch case
// 这里的nameText当前函数区域内的全局变量,在当前函数内任何地方可以使用
package main
import ("fmt")
// 入口函数
func main() {
nameText := ".aahtml"
switch nameText {
case ".html": // 如果nameText 等于 .html,就执行下面的代码
fmt.Println("html")
break //符合条件就不会往下继续执行了
case ".go":
fmt.Println("go")
break
default: // 如果以上条件都不符合的话,就会去执行下面的语句
fmt.Println("other")
}
}
switch case 的另外一种写法
这个nameText是局部变量,并在只能够在switch case中使用,超出这个范围会报错。
和if else中的那种写法是一样的。作用域问题
package main
import ("fmt")
// 入口函数
func main() {
// 把变量名称放到和switch 同一行;
switch nameText := ".go"; nameText {
case ".html": // 如果nameText 等于 .html,就执行下面的代码
fmt.Println("html")
break //符合条件就不会往下继续执行了
case ".go":
fmt.Println("go")
break
default: // 如果以上条件都不符合的话,就会去执行下面的语句
fmt.Println("other")
}
// 这里访问的话会报错的哈
// fmt.Println(nameText)
}
golang中 switch case 下break可以写也可以不写
为了和其他语言保持一致,你可以写也可以不写的哈。
case后面是具体的数值,switch后面需要有一个变量。
func main() {
num := 10
switch num { // case 后面是具体的数值,switch后面需要有一个变量。
case 1,3,5,7,9:
fmt.Println("奇数")
case 2,4,6,8,10:
fmt.Println("偶数")
default:
fmt.Println("其他")
}
}
switch分支还可以使用表达式,这时候 switch 语句后面不需要再跟判断变量
case后面使用条件判断的时候,switch后面直接是花括号,不需要更变量。
这种写法不推荐的。这种写法不推荐的。
func main() {
num := 10
switch {// switch 语句后面直接是花括号
case num <18: //这里写的是表达式哈哈
fmt.Println("未成年")
case num >=18 && num <65:
fmt.Println("成年")
default:
fmt.Println("老年")
}
}
上面是switch case的4种写法
fallthrough语法可以穿透下一个case,只穿透一个case
package main
import ("fmt")
func main() {
num := 20
switch {// switch 语句后面直接是花括号
case num > 18: //这里写的是表达式哈哈
fmt.Println("未成年1")
fallthrough // 继续执行下一个case(只会穿透下一个)
case num >=18 && num <65:
fmt.Println("成年")
default:
fmt.Println("老年")
}
}
输出:
成年1
成年
作者:流年少年
出处:https://www.cnblogs.com/ishoulgodo/
本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
如果文中有什么错误,欢迎指出。以免更多的人被误导。
出处:https://www.cnblogs.com/ishoulgodo/
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!
万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
支付宝
微信
如果文中有什么错误,欢迎指出。以免更多的人被误导。

浙公网安备 33010602011771号