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

如何建设旅游网站个人接广告的平台

如何建设旅游网站,个人接广告的平台,深圳高端电商网站建设者,通辽网站制作公司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.hkea.cn/news/990415/

相关文章:

  • 计算机学了出来干嘛免费优化推广网站的软件
  • 宁波网站建设优化湖南seo优化按天付费
  • 门户网站手机版google官网入口
  • 深圳市工程建设交易服务中心网站软文什么意思
  • 大型网架加工厂成都网站建设方案优化
  • 导航网站的广告怎么做的千锋教育官方网
  • etc网站开发票网站制作软件免费下载
  • 上海seo网站设计2022十大网络营销案例
  • 还有做网站的必要吗网站运营推广方案
  • 企业营销型网站建设厂家品牌搜索引擎服务优化
  • 学校网站建设计划怎么成为百度推广代理商
  • 普陀网站开发培训学校seo快速优化
  • 建一个商城网站多少钱免费的网站推广软件
  • 手机网站解决方案看网站搜什么关键词
  • 顺企网江西网站建设宜昌今日头条新闻
  • 坪山网站建设行业现状网页设计与制作代码成品
  • 网站建设需求文档模板下载学大教育一对一收费价格表
  • 小型网站怎样优化百度首页官网
  • 网站开发与iso9001关系百度上做推广怎么做
  • wordpress怎么设置导航镇江seo
  • 番禺建设网站服务软文写作网站
  • 有哪些专做自然风景图片的网站石首seo排名
  • 移动网站虚拟主机seo 排名 优化
  • 专业网站建设课程网站推广优化方式
  • 适合站长做的网站信息流广告投放工作内容
  • 做健身网站步骤网站建设网络公司
  • 武汉整站seo数据上云网站关键词优化怎么做的
  • 网站尾部网络seo推广
  • 建设一个公司网站需要什么知识网站网络推广优化
  • 政府高度重视网站建设怎么做网络推广