当前位置: 首页 > news >正文

建站软件免费版下载成都专业建站推广公司

建站软件免费版下载,成都专业建站推广公司,自己开发游戏需要学什么,wordpress 手动安装主题目录一、if二、switch三、for四、break与continue五、goto与Label一、if if使用:逻辑表达式成立,就会执行{}里的内容;逻辑表达式不需要加() if 5 > 9 {fmt.Println("5>9") }if句子中允许包含1个(仅1个)分号:在分…

目录

  • 一、if
  • 二、switch
  • 三、for
  • 四、break与continue
  • 五、goto与Label

一、if

  • if使用:逻辑表达式成立,就会执行{}里的内容;逻辑表达式不需要加()
if 5 > 9 {fmt.Println("5>9")
}
  • if句子中允许包含1个(仅1个)分号:在分号前初始化一些局部变量(即只在if块内可见)
func main() {m := make(map[int]string, 10)m[0] = "abc"if value, ok := m[1]; ok {fmt.Printf("[%s]", value)} else {fmt.Printf("[%s]", m[0])}}

二、switch

  • switch:switch和case后面可以跟常量、变量或函数表达式,只要它们表示的数据类型相同就行
func main() {color := "black"switch color {case "green": //相当于  if color== "green"fmt.Println("go")case "red": //相当于else if color== "red"fmt.Println("stop")default: //相当于elsefmt.Printf("invalid traffic signal: %s\n", strings.ToUpper(color)) //invalid traffic signal: BLACK}
}
  • switch+表达式
    • switch后带表达式时,switch-case只能模拟相等的情况;
    • 如果switch后不带表达式,case后就可以跟任意的条件表达式
func add(a int) int {return a + 10
}func main() {switch {case add(5) > 10:fmt.Println("right")default:fmt.Println("wrong")}
}
  • switch Type
func switch_type() {var num interface{} = 6.5//等价形式switch num.(type) {case int:value := num.(int)fmt.Printf("number is int %d\n", value)case float64:value := num.(float64)fmt.Printf("number is float64 %f\n", value)case byte:value := num.(byte)fmt.Printf("number is byte %d\n", value)default:fmt.Println("neither")}
}
  • switch效率:从上往下,只要找到成立的case,就不再执行后面的case了;所以为提高性能,把大概率会满足的情况往前放
  • fallthrough
    • case里如果带了fallthrough,则执行完本case还会去判断下一个case是否满足
    • 在switch type语句的 case 子句中不能使用fallthrough
func no_fall(age int) {switch {case age > 50:fmt.Println("退休")case age > 25:fmt.Println("生子")case age > 22:fmt.Println("结婚")}
}func fall(age int) {switch {case age > 50:fmt.Println("退休")fallthroughcase age > 25:fmt.Println("生子")fallthroughcase age > 22:fmt.Println("结婚")}
}func main() {no_fall(60) //退休fmt.Println("-----------------------")fall(60)//退休//生子//结婚
}

三、for

  • for遍历
func main() {arr := []int{1, 2, 3, 4, 5}for i := 0; i < len(arr); i++ { //正序遍历切片fmt.Printf("%d: %d\n", i, arr[i])}
}
  • for range遍历for range拿到的是数据的拷贝
    • 遍历数组或切片:for i, ele := range arr
    • 遍历string:for i, ele := range "我会唱ABC" //ele是rune类型
    • 遍历map,go不保证遍历的顺序:for key, value := range m
    • 遍历channel,遍历前一定要先close:for ele := range ch
func main() {str := "我会唱ABC"                         //1个汉字占3个bytefmt.Printf("len(str) = %d\n", len(str)) // len(str) = 12for i, ele := range str {fmt.Printf("%d %c\n", i, ele)}// 0 我// 3 会// 6 唱// 9 A// 10 B// 11 Cfmt.Println("--------------------")brr := []byte(str)fmt.Printf("len(brr) = %d\n", len(brr)) //len(brr) = 12for i, ele := range brr {fmt.Printf("%d %d\n", i, ele)}// 0 230// 1 136// 2 145// 3 228// 4 188// 5 154// 6 229// 7 148// 8 177// 9 65// 10 66// 11 67
}
  • for嵌套
func main() {const SIZE = 4A := [SIZE][SIZE]float64{}for i := 0; i < SIZE; i++ {for j := 0; j < SIZE; j++ {A[i][j] = rand.Float64() //[0,1)中的随机数}}fmt.Println(A)
}

四、break与continue

  • break与continue区别
    • break与continue用于控制for循环的代码流程,并且只针对最靠近自己的外层for循环
    • break和continue都是针对for循环的,不针对if或switch
    • break:退出for循环,且本轮break下面的代码不再执行
    • continue:本轮continue下面的代码不再执行,进入for循环的下一轮
func break_for() {arr := []int{1, 2, 3, 4, 5}for i, ele := range arr {fmt.Println("before break", i, ele)if i > 2 {break}fmt.Println(i, ele)}}func continue_for() {arr := []int{1, 2, 3, 4, 5}for i, ele := range arr {fmt.Println("before continue", i, ele)if i > 2 {continue}fmt.Println(i, ele)}
}func main() {break_for()// before break 0 1// 0 1// before break 1 2// 1 2// before break 2 3// 2 3// before break 3 4fmt.Println("--------------")continue_for()// before continue 0 1// 0 1// before continue 1 2// 1 2// before continue 2 3// 2 3// before continue 3 4// before continue 4 5
}

五、goto与Label

  • goto、Label
func main() {var i int = 4
MY_LABEL:i += 3fmt.Println(i)goto MY_LABEL //返回定义MY_LABEL的那一行,把代码再执行一遍(会进入一个无限循环)
}
http://www.yayakq.cn/news/325897/

相关文章:

  • 做网站公司 营销网站诊断内容
  • 二手房网站排行潍坊恒信建设集团网站
  • 在哪个网站可以一对一做汉教wordpress 360cdn
  • 企业网站建设怎么样上海环球金融中心高度
  • 广东网站建设软件北京网站建设排行
  • 网站实例如何关联网站与网站
  • 口碑好的网站建设收费智能建造论文
  • 响应式网站 企业模版沈阳推广网站
  • 什么网站可以做问卷调查企业简介介绍
  • 用双语网站做seo会不会wordpress版本查看
  • 长春一般建一个网站需要多少钱深圳好的网站制作哪家快
  • 建设工程教育网官方网站怎么样做网站赚钱
  • 海宁公司做网站网站热力图工具
  • 如何修改响应式网站模板网站建设常用的编程语言
  • 织梦更换网站模板外贸网站建设系统
  • 辽阳网站建设企业网站电子商务类型
  • asp.net网站开发是什么网络营销做得好的公司
  • 网站建设的讲话稿做网站看
  • 个人网站设计论文ppt我要自学网官网免费
  • 厦门网站开发平台国内优秀的企业网站
  • 网站设计 色彩中国十大影视公司排名
  • 建立旅游公司网站多钱捷克注册公司网站
  • 山东诚信工程建设监理有限公司网站免费安全
  • 免费建网站那个软件好益阳 网站制作维护
  • 好多钱网站上海网站推广营销设计
  • 极客学院 网站建设9377传奇手游官网
  • 全国做网站找哪家好月牙河做网站公司
  • 花生壳申请了域名 怎么做网站企业如何做网站
  • wordpress网站不收录网站制作不用备案
  • 云南省城乡住房建设厅官方网站淘宝天猫优惠卷网站建设