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

简单的公司网站系统数码公司网站建设调查

简单的公司网站系统,数码公司网站建设调查,wordpress漂亮手机网站模板下载,snippets wordpress流程控制 Go语言中有以下几种常见的流程控制语句: 条件语句(Conditional Statements): if语句:用于根据条件执行代码块。else语句:在if条件不满足时执行的语句块。else if语句:用于在多个条件之…

流程控制

Go语言中有以下几种常见的流程控制语句:

  1. 条件语句(Conditional Statements):

    • if语句:用于根据条件执行代码块。
    • else语句:在if条件不满足时执行的语句块。
    • else if语句:用于在多个条件之间进行判断。
    age := 20if age >= 18 {fmt.Println("成年人")
    } else {fmt.Println("未成年人")
    }score := 85
    if score >= 90 {fmt.Println("优秀")
    } else if score >= 80 {fmt.Println("良好")
    } else {fmt.Println("及格")
    }
    
  2. 循环语句(Loop Statements):

    • for循环:用于重复执行一段代码块,可以指定循环条件、初始语句和后续语句。
    • range循环:用于遍历数组、切片、字符串、映射等数据结构中的元素。
    // for循环
    for i := 1; i <= 5; i++ {fmt.Println(i)
    }
    //for遍历string
    str := "hello,nihao"
    fmt.Println(str)
    fmt.Println("字符串str长度为:", len(str))
    for i := 0; i < len(str); i++ {//fmt.Printf("字节打印:", str[i]) //直接打印是字符的编码fmt.Printf("%c", str[i])
    }
    // range循环
    numbers := []int{1, 2, 3, 4, 5}
    for index, value := range numbers {fmt.Printf("索引:%d,值:%d\n", index, value)
    }
    //range遍历string
    for i, v := range str {fmt.Printf("索引位置:%d的值为:%c\n", i, v)//索引位置:0的值为:h
    }
    
  3. 选择语句(Selection Statements):

    • switch语句:根据表达式的值选择执行不同的分支。
    num := 2switch num {
    case 1:fmt.Println("选择了1")
    case 2:fmt.Println("选择了2")
    default:fmt.Println("未知选择")
    }fruit := "apple"
    switch fruit {
    case "apple", "pear":fmt.Println("选择了苹果或梨子")
    case "banana":fmt.Println("选择了香蕉")
    default:fmt.Println("未知选择")
    }
    
  4. 跳转语句(Jump Statements):

    • break语句:用于跳出当前循环或switch语句。
    • continue语句:用于跳过当前循环的剩余代码并开始下一次迭代。
    • goto语句:无条件地转移到指定标签的语句。
    for i := 1; i <= 5; i++ {if i == 3 {break // 当i等于3时跳出循环}fmt.Println(i) // 1 2}for i := 1; i <= 5; i++ {if i == 3 {continue // 当i等于3时跳过本次循环,继续下一次循环}fmt.Println(i) //1 2 4 5}i := 0
    Loop:for {i++if i == 3 {goto Loop // 跳转到Loop标签处继续执行循环} else if i == 5 {break Loop // 在第5次循环时跳出循环}fmt.Println(i)//1 2 4}
    

除了上述常见的流程控制语句,Go语言还提供了一些其他的关键字和语句来处理程序的流程控制,如:

  • fallthrough:在switch语句中,用于贯穿到下一个分支的代码块。

    默认情况下,当一个分支的条件满足时,switch语句会执行该分支并终止,不会继续执行其他分支。但是,如果在某个分支使用了fallthrough关键字,那么即使该分支的条件满足,程序也会继续执行下一个分支,无论下一个分支的条件是否满足。

    num := 2switch num {
    case 1:fmt.Println("数字是1")
    case 2:fmt.Println("数字是2")fallthrough
    case 3:fmt.Println("数字是3")
    default:fmt.Println("未知数字")
    }
    

    输出结果:

    数字是2
    数字是3
    
  • select:用于在多个通道操作中进行选择和执行。

    select语句用于在多个通道操作中进行选择和执行。它类似于switch语句,但是针对通道操作。select语句会监听多个通道的操作,一旦有某个通道操作可以进行,就会执行对应的代码块。

    package mainimport ("fmt""time"
    )func main() {ch1 := make(chan string)ch2 := make(chan string)go func() {time.Sleep(2 * time.Second)ch1 <- "Hello from channel 1"}()go func() {time.Sleep(1 * time.Second)ch2 <- "Hello from channel 2"}()select {case msg1 := <-ch1:fmt.Println(msg1)case msg2 := <-ch2:fmt.Println(msg2)}
    }
    

    输出结果:

    Hello from channel 2
    

    因为ch2通道的操作先准备好了,所以程序执行对应的代码块。

  • defer:用于延迟执行函数调用,通常用于释放资源或错误处理。

    defer用于延迟执行函数调用,通常用于释放资源或错误处理。被defer关键字修饰的函数调用会在包含它的函数执行完毕后才执行,即使函数发生了错误也会执行。

    示例代码:

    goCopy Codepackage mainimport "fmt"func main() {defer fmt.Println("这行代码会最后执行")fmt.Println("这行代码会第一个执行")
    }
    

    输出结果:

    这行代码会第一个执行
    这行代码会最后执行
    

    defer语句会将函数调用推迟到包含它的函数执行完毕后执行。

    defer还可以用于关闭文件、释放锁、清理资源等操作,确保在函数结束时这些操作一定会执行,不受返回或错误的影响。

http://www.yayakq.cn/news/745585/

相关文章:

  • seo网站优化教程3d地图网站模板html
  • 网站的链接建设什么是html5网站
  • 备案网站分布地点广西百色建设局网站
  • 同一产品做多个网站百度推广收费
  • 网站开发的毕业设计题目宁波seo关键词优化制作
  • 网站建设 军报滨州建设厅网站
  • 我的网站刚换了一个模板收录很多就是没排名北京市网站制作
  • 关于做我女朋友的网站微信商城在哪里找
  • 衡阳网站开发培训外国教程网站有哪些
  • 怎样做网站模板杭州哪里做网站
  • 卧龙区2015网站建设口碑wordpress 戏 自媒体类主题
  • 5173游戏交易网站源码站长 网站ip
  • 名词解释 网站规划网站常用英文
  • 公司标志logo设计图片微信seo是什么意思
  • 卡曼科技网站建设无锡网络公司设计
  • 做英文网站价格如何自己做外贸网站
  • 域名估价哪个网站准确济南网站建设力推搜点网络ok
  • 电脑编程网站wordpress主题的意思
  • 建立网站每项内容可以设计成什么wordpress前台打开慢
  • 珠海房地产网站建设wordpress+远程缓存
  • 专门做cg视频网站佛山建设银行网站
  • 信息服务类网站怎么做福州网站怎么做的
  • wordpress建购物网站天翼云免费服务器
  • 创建网站英语微信小程序怎么做问卷
  • 房产网站做那个比较好游戏网站域名
  • 太原网站制作优化seo网站虚拟主机费用
  • seo网站改版方案怎么写做一个展示型网站多少钱
  • 免费的行情网站app软件大全网站建设 容易吗
  • 电子商务网站建设调查分析免费短网址生成器
  • 北京网站建设seo开关网站建设