Go语言入门2(流程控制,string)
流程控制
选择结构(分支语句)
因为switch只能匹配固定值,推荐使用if-else做条件筛选
if-else判断
package main
import "fmt"
func main() {
var tmpA int
fmt.Scanln(&tmpA)
if tmpA >= 90 {
fmt.Println("tmpA >= 90")
} else if tmpA < 90 && tmpA >= 60 {
fmt.Println("tmpA < 90 && tmpA >= 60")
} else {
fmt.Println("tmpA < 60")
}
}
switch判断
switch语句执行的过程从上至下,知道找到匹配项,匹配项后面也不需要再加break,case之后默认添加break
package main
import "fmt"
// switch 后面如果什么都不跟,就会默认为bool类型,值为true
func main() {
var tmpA int
fmt.Scanln(&tmpA)
switch tmpA {
case 90:
fmt.Println("tmpA = 90")
case 80:
fmt.Println("tmpA = 80")
default:
fmt.Println("default")
}
}
fallthrough穿透(和break相反)
switch默认情况下匹配成功后就不会执行其他case,如果我们需要执行后面的case,可以使用fall through穿透实现,它会强制执行后面的语句,并不会判断后面case表达式是否匹配
package main
import "fmt"
func main() {
var tmpA int
fmt.Scanln(&tmpA)
switch tmpA {
case 90:
fmt.Println("tmpA = 90")
fallthrough
case 80:
fmt.Println("tmpA = 80")
fallthrough
default:
fmt.Println("default")
}
}
循环结构(for循环)
package main
import "fmt"
func main() {
// 循环的条件判断没有括号,同样break和continue使用同c语言一样
for i := 0; i < 10; i++ {
if i == 4 {
continue // 结束当前循环
} else if i == 6 {
break // 结束整个循环
}
fmt.Print(i)
}
}
string
go语言中的字符串是一个字节的切片,可以通过将其内容封装在“”中来创建字符串,go语言中字符串编码兼容Unicode,且使用UTF-8编码,是一些字节的集合
package main
import "fmt"
func main() {
// string 是不能被单独修改里面的某一位的
str := "string example"
fmt.Println(str)
// 获取字符串长度
fmt.Println("字符串长度为: ", len(str))
// 获取指定的字节(直接获得的是Ascll编码)
fmt.Println("获取指定的字节:", str[2])
// 格式化输出指定字节
fmt.Printf("获取指定的字节: %c \n", str[2])
// 使用for循环遍历字符串
for i := 0; i < len(str); i++ {
fmt.Printf("遍历字符串: %c\n", str[i])
}
// for range循环,用于遍历数组以及切片....
// i:字符串下标
// v:当前下表对应的值,可以直接使用
for i, v := range str {
fmt.Printf("i = %d,v = %c \n", i, v)
}
}
热门相关:地球第一剑 仗剑高歌 第一神算:纨绔大小姐 仗剑高歌 天启预报