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

有源码怎么搭建网站网络营销计划的七个步骤

有源码怎么搭建网站,网络营销计划的七个步骤,网站建设与规划专业,在线做交互网站#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力#xff0c;虚度你的光阴#xff0c;每天迈出一小步#xff0c;回头时发现已经走了很远。 #x1f4d7;概念 select 语句是 Go 的一种控制结构#xff0c;用于等待多个通道操作。它类似于 s… Don’t worry , just coding! 内耗与overthinking只会削弱你的精力虚度你的光阴每天迈出一小步回头时发现已经走了很远。 概念 select 语句是 Go 的一种控制结构用于等待多个通道操作。它类似于 switch 语句但用于通道的接收和发送 超时是指在一定时间内未能完成某项操作如接收通道消息或发送消息从而采取某种措施如执行默认操作或返回错误 非阻塞通道操作是指通过 select 语句的 default 分支或者直接在通道操作中尝试发送或接收数据而不会导致 goroutine 阻塞。 代码 通道select package mainimport (fmttime )func main() {c1 : make(chan string) // 创建一个字符串类型的通道 c1c2 : make(chan string) // 创建一个字符串类型的通道 c2// 启动第一个 goroutinego func() {time.Sleep(1 * time.Second) // 暂停 1 秒c1 - one // 向 c1 通道发送消息 one}()// 启动第二个 goroutinego func() {time.Sleep(2 * time.Second) // 暂停 2 秒c2 - two // 向 c2 通道发送消息 two}()// 循环接收消息for i : 0; i 2; i {select {case msg1 : -c1: // 从 c1 通道接收消息fmt.Println(received, msg1) // 打印接收到的消息case msg2 : -c2: // 从 c2 通道接收消息fmt.Println(received, msg2) // 打印接收到的消息}} }//输出 //启动等待一秒后打印 received one //启动等待2秒后打印 received two因为两个等待是同时执行的所以总执行时间是2秒通道timeout package mainimport (fmttime )func main() {c1 : make(chan string, 1) // 创建一个缓冲通道 c1容量为 1go func() {time.Sleep(2 * time.Second) // 暂停 2 秒c1 - result 1 // 向 c1 通道发送 result 1}()// 第一个 select 语句select {case res : -c1: // 尝试从 c1 接收消息fmt.Println(res) // 打印接收到的消息case -time.After(1 * time.Second): // 如果 1 秒后还没有消息则执行此 casefmt.Println(timeout 1) // 打印超时消息}c2 : make(chan string, 1) // 创建另一个缓冲通道 c2容量为 1go func() {time.Sleep(2 * time.Second) // 暂停 2 秒c2 - result 2 // 向 c2 通道发送 result 2}()// 第二个 select 语句select {case res : -c2: // 尝试从 c2 接收消息fmt.Println(res) // 打印接收到的消息case -time.After(3 * time.Second): // 如果 3 秒后还没有消息则执行此 casefmt.Println(timeout 2) // 打印超时消息} } //输出 //timeout 1 //result 2Non-Blocking Channel Operations非阻塞通道操作 package mainimport fmtfunc main() {messages : make(chan string) // 创建一个字符串类型的通道 messagessignals : make(chan bool) // 创建一个布尔类型的通道 signals// 第一个 select 语句select {case msg : -messages: // 尝试从 messages 通道接收消息fmt.Println(received message, msg)default: // 如果没有消息可接收则执行此分支fmt.Println(no message received)}msg : hi // 定义消息内容// 第二个 select 语句select {case messages - msg: // 尝试向 messages 通道发送消息fmt.Println(sent message, msg)default: // 如果通道满或没有接收者则执行此分支fmt.Println(no message sent)}// 第三个 select 语句select {case msg : -messages: // 尝试从 messages 通道接收消息fmt.Println(received message, msg)case sig : -signals: // 尝试从 signals 通道接收信号这里是bool类型的通道并没有消息发送进来fmt.Println(received signal, sig)default: // 如果没有消息或信号可接收则执行此分支fmt.Println(no activity)} }//输出 //no message received //no message sent //no activity通道可以用 select 语句来处理消息和信号。select 语句的 default 分支允许在没有可用通道操作时执行其他逻辑避免了阻塞。 理解 select 语句可以有效地等待多个通道的操作确保程序能够及时响应来自不同通道的消息通过使用 time.Sleep 模拟耗时操作可以并发执行的特性。time.After 用于设置超时机制确保程序不会无限期等待通道的消息。select 语句的 default 分支允许在没有可用通道操作时执行其他逻辑避免了阻塞。 无人扶我青云志我自踏雪至山巅。
http://www.w-s-a.com/news/994835/

相关文章:

  • 网站内容 内链网站建设电话销售工作总结
  • 系统网站开发知名的摄影网站有哪些
  • 网站拍照的幕布扬中网站建设价位
  • 网站ie兼容性差西安小程序开发的公司
  • 上海网站建设培训app网站开发成本
  • 个人网站icp外贸网站开发 河南
  • 遵义建设网站无锡市规划建设局网站
  • 海外留学网站建设方案门户网站的发布特点
  • 网站建设不赚钱net112企业建站系统
  • 网站建设团队管理模板贵州省住房和城乡建设部网站
  • 曲沃网站建设网上学编程的有哪些比较好的网站
  • 厦门网站建设慕枫学做网站需要多久
  • 爱奇艺做任务领vip网站设计广告图片
  • 中科汇联网站建设手册上海公司名称注册查询网
  • 网站建设电子商务课总结和体会关于做网站书籍
  • 仪征网站建设公司哪家好简单网页制作素材图片
  • 甘肃第九建设集团公司网站潍坊个人做网站
  • 如何做后台网站的教程网站建设 关于我们
  • 极速网站建设哪家好连云港百度推广网站建设
  • 医院网站建设的目标wordpress中英文网站模板
  • 门户型网站开发难度网站导航栏有哪些
  • 推荐做任务网站软件定制开发哪家好
  • 邯郸兄弟建站第三方仓储配送公司
  • 商丘家具网站建设wordpress 添加代码
  • 基础建设的网站有哪些内容成都科技网站建设咨询电话
  • 券多多是谁做的网站招聘网站开发模板
  • 网站主机一般选哪种的企业数字展厅
  • 网站建设该如何学衡水建设局网站首页
  • 高校网站建设工作总结番禺网站开发哪家好
  • 苏州 网站的公司wordpress主页代码