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

群晖wordpress主机百度seo手机

群晖wordpress主机,百度seo手机,网页制作网站的大作业,成人高考报名时间Go语言流程控制 1.IF-ELSE2.Switch-Caseswitch 语句Type Switch 3.select 语句4.循环语句 1.IF-ELSE Go 编程语言中 if 语句的语法如下: if 布尔表达式 {/* 在布尔表达式为 true 时执行 */ }例如: package mainimport "fmt"func main() {va…

Go语言流程控制

  • 1.IF-ELSE
  • 2.Switch-Case
    • switch 语句
    • Type Switch
  • 3.select 语句
  • 4.循环语句

1.IF-ELSE

Go 编程语言中 if 语句的语法如下:

if 布尔表达式 {/* 在布尔表达式为 true 时执行 */
}

例如:

package mainimport "fmt"func main() {var a int = 521if a == 521 {fmt.Println("我爱你")} else {fmt.Println("我不爱你")}
}

2.Switch-Case

switch 语句

Go 编程语言中 switch 语句的语法如下:

switch var1 {case val1:...case val2:...default:...
}

变量 var1 可以是任何类型,而 val1 和 val2 则可以是同类型的任意值。类型不被局限于常量或整数,但必须是相同的类型;或者最终结果为相同类型的表达式。

例如:

package mainimport "fmt"func main() {var marks int = 90switch marks {case 90:fmt.Println("优秀")case 80:fmt.Println("良好")case 60:fmt.Println("及格")}
}

Type Switch

switch 语句还可以被用于 type-switch 来判断某个 interface 变量中实际存储的变量类型。

Type Switch 语法格式如下:

switch x.(type){case type:statement(s);      case type:statement(s); /* 你可以定义任意个数的case */default: /* 可选 */statement(s);
}

例如:

package mainimport "fmt"func main() {var x interface{}switch i := x.(type) {case nil:  fmt.Printf(" x 的类型 :%T",i)                case int:  fmt.Printf("x 是 int 型")                      case float64:fmt.Printf("x 是 float64 型")          case func(int) float64:fmt.Printf("x 是 func(int) 型")                      case bool, string:fmt.Printf("x 是 bool 或 string 型" )      default:fmt.Printf("未知型")    }  
}

以上代码执行结果为:

x 的类型 :<nil>

3.select 语句

在 Go 语言中,select 语句用于处理多个通道(channel)的通信操作。它的功能类似于 switch 语句,但它专门用于处理异步的通道操作。select 会阻塞,直到其中的某个通道可以进行发送或接收操作。通过 select 语句,Go 可以方便地处理并发任务的多路复用

select 语句会监听所有指定的通道上的操作,一旦其中一个通道准备好就会执行相应的代码块。

如果多个通道都准备好,那么 select 语句会随机选择一个通道执行。如果所有通道都没有准备好,那么执行 default 块中的代码。

在下面这个示例中,chan1 在 1 秒后发送数据,chan2 在 2 秒后发送数据。select 会阻塞,直到某个通道有数据可接收:

package mainimport ("fmt""time"
)func main() {chan1 := make(chan string)chan2 := make(chan string)go func() {time.Sleep(1 * time.Second)chan1 <- "chan1 done"}()go func() {time.Sleep(2 * time.Second)chan2 <- "chan2 done"}()for i := 0; i < 2; i++ {select {case msg1 := <-chan1:fmt.Println(msg1)case msg2 := <-chan2:fmt.Println(msg2)}}
}

用select实现超时判断机制,在下面的场景中,使用全局resChan来接受response,如果时间超过3S,resChan中还没有数据返回,则第二条case将执行输出报错信息:

var resChan = make(chan int)
// do request
func test() {select {case data := <-resChan:doData(data)case <-time.After(time.Second * 3):fmt.Println("request time out")}
}func doData(data int) {//...
}

4.循环语句

for 循环是一个循环控制结构,可以执行指定次数的循环。

1、计算 1 到 10 的数字之和

package mainimport "fmt"func main() {sum := 0for i := 0; i <= 10; i++ {sum += i}fmt.Println(sum)  // 55
}

2、无限循环

package mainimport "fmt"func main() {sum := 0for {sum += 1}fmt.Println(sum)
}

要停止无限循环,可以在命令窗口按下ctrl-c

3、实例3:For-each range 循环

这种格式的循环可以对字符串、数组、切片等进行迭代输出元素。

package mainimport ("fmt"
)func main() {strings := []string{"imustctf", "wode"}for i, s := range strings {fmt.Println(i, s)// 0 imustctf// 1 wode}
}

4、类似的while循环,在 sum 小于 10 的时候计算 sum 自相加后的值

package mainimport "fmt"func main() {sum := 1for sum <= 10 {sum += sum}fmt.Println(sum)  // 16
}
http://www.wangmingla.cn/news/78716.html

相关文章:

  • 慈溪企业网站建设百度搜索竞价
  • 哪些网站可以做调查赚钱网络推广渠道和方法
  • 做网站前两个月应该干什么福州seo推广公司
  • 网站经营seo点石论坛
  • 网站需要哪些备案友情链接交易网站源码
  • 做网站能挣钱吗小红书seo排名
  • wordpress 图标代码引擎优化seo
  • 自己做图片的网站站长工具浪潮
  • 网钛cms做的网站seo 首页
  • 网站结构有哪些类型企业网站seo诊断工具
  • 傻瓜式网站模板南昌seo计费管理
  • 吉林长春有做网站的吗百度推广效果怎样一天费用
  • 武汉最新新闻百度seo排名优化排行
  • 做网站可以用ai做搜索引擎是软件还是网站
  • 西数网站管理助手培训网址大全
  • 凡科做的网站提示证书错误深圳关键词推广优化
  • 武汉代做企业网站应用商店搜索优化
  • 拼多多是b2c还是c2c北京网站优化企业
  • 广州旅游网站建设公司网站如何制作设计
  • 别人品牌的域名做网站吗可以访问境外的浏览器
  • 建站行业的发展前景成都高端品牌网站建设
  • 1个空间做2个网站企业培训课程视频
  • 做品牌推广用什么网站站长域名查询工具
  • 免费企业管理培训课程视频网站优化团队
  • 广州做网站优化公司报价5月疫情最新消息
  • 做英文网站内容来源广州企业推广
  • vue可以做网站吗大数据网站
  • 用自己电脑做网站服务器咖啡seo是什么意思
  • 厦门市住房和建设局网站建设网站公司
  • 优化网站及商品排名怎么做策划公司排行榜