中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

四省網(wǎng)站建設(shè)如何設(shè)計(jì)網(wǎng)站步驟

四省網(wǎng)站建設(shè),如何設(shè)計(jì)網(wǎng)站步驟,廣州 環(huán)保 凡人網(wǎng)站建設(shè),中國(guó)菲律賓大使館官網(wǎng)五、程序流程控制 5.1 單分支控制 package main import ("fmt" )func main() {//請(qǐng)大家看個(gè)案例[ifDemo.go]://編寫一個(gè)程序,可以輸入人的年齡,如果該同志的年齡大于18歲,則輸出 "你年齡大//于18,要對(duì)自己的行為負(fù)責(zé)!"//分析 //1.年齡 > var age int…

五、程序流程控制

5.1 單分支控制

package main
import ("fmt" 
)func main() {//請(qǐng)大家看個(gè)案例[ifDemo.go]://編寫一個(gè)程序,可以輸入人的年齡,如果該同志的年齡大于18歲,則輸出 "你年齡大//于18,要對(duì)自己的行為負(fù)責(zé)!"//分析 //1.年齡 ==> var age int //2.從控制臺(tái)接收一個(gè)輸入 fmt.Scanln(&age)//3.if判斷var age intfmt.Println("請(qǐng)輸入年齡:")fmt.Scanln(&age)if age > 18 {fmt.Println("你年齡大于18,要對(duì)自己的行為負(fù)責(zé)!")}//golang支持在if中,直接定義一個(gè)變量,比如下面if age := 20; age > 18 {fmt.Println("你年齡大于18,要對(duì)自己的行為負(fù)責(zé)!")}	
}

5.2 雙分支控制

if 條件表達(dá)式{執(zhí)行代碼塊1
}else{執(zhí)行代碼塊2
}
package main
import ("fmt" 
)func main() {var x int = 4if x > 2fmt.Println("ok")elsefmt.Println("hello")//編譯錯(cuò)誤,if沒(méi)有{}
}
package main
import ("fmt" 
)func main() {var x int = 4if x > 2{fmt.Println("ok")}    else{fmt.Println("hello")}//編譯錯(cuò)誤,else不能換行
}

5.3 多分支控制

if 條件表達(dá)式1{執(zhí)行代碼塊1
}else if 條件表達(dá)式2{執(zhí)行代碼塊2
}
......
else{執(zhí)行代碼塊n
}

5.4 switch分支控制

1 ) switch 語(yǔ)句用于基于不同條件執(zhí)行不同動(dòng)作,每一個(gè) case 分支都是唯一的,從上到下逐一測(cè) 試,直到匹配為止。

2 ) 匹配項(xiàng)后面也不需要再加 break

switch 表達(dá)式{case 表達(dá)式1,表達(dá)式2..:語(yǔ)句塊1fallthrough//穿透 如果有這個(gè)則會(huì)繼續(xù)執(zhí)行下面的casecase 表達(dá)式3,表達(dá)式4..:語(yǔ)句塊2...default://沒(méi)有任何case匹配 折執(zhí)行default 不是必須的語(yǔ)句塊
}

使用細(xì)節(jié)

1 ) case/switch后是一個(gè)表達(dá)式( 即:常量值、變量、一個(gè)有返回值的函數(shù)等都可以)

2 ) case后的各個(gè)表達(dá)式的值的數(shù)據(jù)類型,必須和 switch 的表達(dá)式數(shù)據(jù)類型一致

package main
import ("fmt" 
)func main() {var n1 int32 = 20var n2 int64 = 20switch n1 { //錯(cuò)誤,原因是n2和n1數(shù)據(jù)類型不一致      case n2:fmt.Println("ok1")default:fmt.Println("沒(méi)有匹配到...")}
}

3 ) case后面可以帶多個(gè)表達(dá)式,使用逗號(hào)間隔。比如 case 表達(dá)式 1 , 表達(dá)式 2 …

package main
import ("fmt" 
)func main() {var n1 int32 = 51var n2 int32 = 20switch n1 {case n2, 10, 5 :  // case 后面可以有多個(gè)表達(dá)式fmt.Println("ok1")case 90 : fmt.Println("ok2~")}
}

4 ) case后面的表達(dá)式如果是常量值(字面量),則要求不能重復(fù)

package main
import ("fmt" 
)func main() {var n1 int32 = 51var n2 int32 = 20switch n1 {case n2, 10, 5 :  // case 后面可以有多個(gè)表達(dá)式fmt.Println("ok1")case 5 : //錯(cuò)誤,前面已經(jīng)有常量5了,不能重復(fù)fmt.Println("ok2~")default:fmt.Println("沒(méi)有匹配到...")}
}

5.) case后面不需要帶break, 程序匹配到一個(gè)case后就會(huì)執(zhí)行對(duì)應(yīng)的代碼塊,然后退出switch,如果一個(gè)都匹配不到,則執(zhí)行 default

6 ) default 語(yǔ)句不是必須的.

7 ) switch 后也可以不帶表達(dá)式,類似 if–else分支來(lái)使用?!景咐菔尽?/p>

package main
import ("fmt" 
)func main() {//switch 后也可以不帶表達(dá)式,類似 if --else分支來(lái)使用?!景咐菔尽?/span>var age int = 10switch {case age == 10 :fmt.Println("age == 10")case age == 20 :fmt.Println("age == 20")default :fmt.Println("沒(méi)有匹配到")}//case 中也可以對(duì) 范圍進(jìn)行判斷var score int = 90switch {case score > 90 :fmt.Println("成績(jī)優(yōu)秀..")case score >=70 && score <= 90 :fmt.Println("成績(jī)優(yōu)良...")case score >= 60 && score < 70 :fmt.Println("成績(jī)及格...")default :fmt.Println("不及格")}
}

8 ) switch 后也可以直接聲明/定義一個(gè)變量,分號(hào)結(jié)束,不推薦。 【案例演示】

package main
import ("fmt" 
)func main() {//switch 后也可以直接聲明/定義一個(gè)變量,分號(hào)結(jié)束,不推薦	switch grade := 90; { // 在golang中,可以這樣寫case grade > 90 :fmt.Println("成績(jī)優(yōu)秀~..")case grade >=70 && grade <= 90 :fmt.Println("成績(jī)優(yōu)良~...")case grade >= 60 && grade < 70 :fmt.Println("成績(jī)及格~...")default :fmt.Println("不及格~")}
}

9 ) switch 穿透-fallthrough ,如果在case語(yǔ)句塊后增加fallthrough,則會(huì)繼續(xù)執(zhí)行下一個(gè)case,也 叫switch穿透

package main
import ("fmt" 
)func main() {//switch 的穿透 fallthroughtvar num int = 10switch num {case 10:fmt.Println("ok1")fallthrough //默認(rèn)只能穿透一層case 20:fmt.Println("ok2")fallthroughcase 30:fmt.Println("ok3")	default:fmt.Println("沒(méi)有匹配到..")}
}

10 ) TypeSwitch:switch 語(yǔ)句還可以被用于 type-switch 來(lái)判斷某個(gè) interface 變量中實(shí)際指向的變量類型

package main
import ("fmt" 
)func main() {var x interface{}var y = 10.0x = yswitch x := x.(type) {case nil:fmt.Println("x 的類型:%T",i)case int:fmt.Println("x 是int型")case float64:fmt.Println("x 是float型")	case func(int) float:fmt.Println("x 是func(int) float")	 		case bool, string:fmt.Println("x 是bool 或 string型")     		default:fmt.Println("未知型..")}
}

5.5 for循環(huán)

1)基本語(yǔ)法

for 循環(huán)變量初始化; 循環(huán)條件; 循環(huán)變量迭代 {循環(huán)操作(語(yǔ)句)
}

2)for循環(huán)的第二種使用方式

for 循環(huán)判斷條件 {//循環(huán)執(zhí)行語(yǔ)句
}

將變量初始化和變量迭代寫到其它位置

案例演示:

package main
import ("fmt"
)
func main(){//for循環(huán)的第二種寫法j := 1 //循環(huán)變量初始化for j <= 10 { //循環(huán)條件fmt.Println("你好,Golang Roadmap~", j)j++ //循環(huán)變量迭代}
}

3 ) for循環(huán)的第三種使用方式

for {
//循環(huán)執(zhí)行語(yǔ)句
}

上面的寫法等價(jià) for;;{} 是一個(gè)無(wú)限循環(huán), 通常需要配合 break 語(yǔ)句使用

package main
import ("fmt"
)
func main(){//for循環(huán)的第三種寫法, 這種寫法通常會(huì)配合break使用k := 1for {  // 這里也等價(jià) for ; ; { if k <= 10 {fmt.Println("你好,Golang Roadmap~", k)} else {break //break就是跳出這個(gè)for循環(huán)}k++}
}

4 ) Golang 提供 for-range的方式,可以方便遍歷字符串和數(shù)組(注: 數(shù)組的遍歷,我們放到講數(shù)組 的時(shí)候再講解) ,案例說(shuō)明如何遍歷字符串。 字符串遍歷方式 1 - 傳統(tǒng)方式

package main
import ("fmt"
)
func main(){//字符串遍歷方式1-傳統(tǒng)方式var str string = "hello,world!北京"for i := 0; i < len(str); i++ {fmt.Printf("%c \n", str[i]) //使用到下標(biāo)...}
}

字符串遍歷方式 2 - for-range

package main
import ("fmt"
)
func main(){//字符串遍歷方式2-for-rangestr = "abc~ok上海"for index, val := range str {fmt.Printf("index=%d, val=%c \n", index, val)}
}

如果我們的字符串含有中文,那么傳統(tǒng)的遍歷字符串方式,就是錯(cuò)誤,會(huì)出現(xiàn)亂碼。原因是傳統(tǒng)的對(duì)字符串的遍歷是按照字節(jié)來(lái)遍歷,而一個(gè)漢字在utf 8 編碼是對(duì)應(yīng) 3 個(gè)字節(jié)。

如何解決 需要要將 str 轉(zhuǎn)成 []rune切片

package main
import ("fmt"
)
func main(){//字符串遍歷方式1-傳統(tǒng)方式var str string = "hello,world!北京"str2 := []rune(str) // 就是把 str 轉(zhuǎn)成 []runefor i := 0; i < len(str2); i++ {fmt.Printf("%c \n", str2[i]) //使用到下標(biāo)...}
}

對(duì)應(yīng)for-range遍歷方式而言,是按照字符方式遍歷。因此如果有字符串有中文,也是ok

5.6 WHILE和DO…WHILE的實(shí)現(xiàn)

Go語(yǔ)言沒(méi)有while和do…while語(yǔ)法,這一點(diǎn)需要同學(xué)們注意一下,如果我們需要使用類似其它語(yǔ)言(比如 java/c 的 while 和 do…while),可以通過(guò) for 循環(huán)來(lái)實(shí)現(xiàn)其使用效果。

while循環(huán)的實(shí)現(xiàn)

循環(huán)變量初始化
for{if循環(huán)條件表達(dá)式{break//跳出for循環(huán)}循環(huán)操作語(yǔ)句循環(huán)變量迭代
}

說(shuō)明上圖

1 ) for循環(huán)是一個(gè)無(wú)限循環(huán)

2 ) break 語(yǔ)句就是跳出for循環(huán)

使用上面的while實(shí)現(xiàn)完成輸出 10 句”hello,wrold”

package main
import "fmt"func main(){//使用while方式輸出10句 "hello,world"//循環(huán)變量初始化var i int = 1for {if i > 10 { //循環(huán)條件break // 跳出for循環(huán),結(jié)束for循環(huán)}fmt.Println("hello,world", i)i++ //循環(huán)變量的迭代}fmt.Println("i=", i)
}

do…while的實(shí)現(xiàn)

循環(huán)變量初始化
for{循環(huán)操作語(yǔ)句循環(huán)變量迭代if循環(huán)條件表達(dá)式{break//跳出for循環(huán)}
}

對(duì)上圖的說(shuō)明

1 ) 上面的循環(huán)是先執(zhí)行,在判斷,因此至少執(zhí)行一次。

2 ) 當(dāng)循環(huán)條件成立后,就會(huì)執(zhí)行break,break就是跳出for循環(huán),結(jié)束循環(huán).

http://www.risenshineclean.com/news/53787.html

相關(guān)文章:

  • 企業(yè)網(wǎng)站建立喬拓云智能建站
  • 手機(jī)asp網(wǎng)站開發(fā)工具拼多多關(guān)鍵詞排名在哪里看
  • 一站式服務(wù)平臺(tái)登錄網(wǎng)站策劃方案案例
  • 網(wǎng)站主體信息俄羅斯搜索引擎入口 yandex
  • 中國(guó)紀(jì)檢監(jiān)察報(bào)網(wǎng)站關(guān)鍵詞查詢工具
  • 保險(xiǎn)網(wǎng)站建設(shè)的總體目標(biāo)seo優(yōu)化交流
  • 中文域名可以做網(wǎng)站嗎企業(yè)官網(wǎng)搭建
  • dw設(shè)計(jì)做網(wǎng)站完整案例市場(chǎng)調(diào)研報(bào)告怎么寫范文
  • wordpress調(diào)用文章列表廣州營(yíng)銷seo
  • 用c 做的網(wǎng)站怎么打開嗎百度seo關(guān)鍵詞優(yōu)化公司
  • 做網(wǎng)站加模塊今日熱榜
  • 網(wǎng)站做關(guān)鍵詞搜索要好多錢潮州seo建站
  • 招聘網(wǎng)絡(luò)營(yíng)銷推廣人員seo搜索引擎優(yōu)化試題及答案
  • 做空調(diào)的網(wǎng)站蘭州模板網(wǎng)站seo價(jià)格
  • php網(wǎng)站開發(fā)技術(shù)廣州seo營(yíng)銷培訓(xùn)
  • 天津網(wǎng)站建設(shè)索王道下拉怎么做網(wǎng)絡(luò)推廣最有效
  • 廣州網(wǎng)站優(yōu)化渠道北京網(wǎng)站搭建哪家好
  • 臨海建設(shè)局官方網(wǎng)站濟(jì)南網(wǎng)絡(luò)優(yōu)化哪家專業(yè)
  • 用html做網(wǎng)站搜索框可以投放廣告的網(wǎng)站
  • 鹽山網(wǎng)站開發(fā)百度競(jìng)價(jià)怎么做開戶需要多少錢
  • 微信公眾號(hào)可以做幾個(gè)微網(wǎng)站嗎公眾號(hào)開發(fā)網(wǎng)站公司
  • 西安誰(shuí)家做網(wǎng)站seo營(yíng)銷培訓(xùn)
  • 云南住房和建設(shè)廳網(wǎng)站首頁(yè)小程序推廣的十種方式
  • 男女做爰真人視頻免費(fèi)網(wǎng)站網(wǎng)絡(luò)seo優(yōu)化推廣
  • 公司網(wǎng)站制作天強(qiáng)科技windows優(yōu)化大師和360哪個(gè)好
  • 個(gè)人網(wǎng)站做什么好北京做網(wǎng)站公司哪家好
  • 徐州有哪些做網(wǎng)站百度推廣
  • 做spa會(huì)所網(wǎng)站深圳網(wǎng)絡(luò)推廣收費(fèi)標(biāo)準(zhǔn)
  • .net做網(wǎng)站用什么的多雅虎搜索
  • 專業(yè)的網(wǎng)站建設(shè)設(shè)計(jì)價(jià)格怎么做一個(gè)免費(fèi)的網(wǎng)站