您好,登錄后才能下訂單哦!
這篇文章主要介紹“go語言程序?qū)嵗a分析”,在日常操作中,相信很多人在go語言程序?qū)嵗a分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”go語言程序?qū)嵗a分析”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
1 打印如下圖案
2 輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。
3、構(gòu)造一個map以學(xué)號為 key 存儲學(xué)生信息(姓名、性別、學(xué)號、年齡、成績),產(chǎn)生10 個學(xué)生信息并存入 map,然后將所有學(xué)生信息取出,按成績排序(由高到低)存入一個切片中,然后按順序輸出學(xué)生信息。
4、設(shè)計一段程序,滿足如下場景:鑰匙啟動車輛,車輛在導(dǎo)航的提醒下從外面開車回家.
package main import ( "fmt" "math/rand" "sort" ) /** 菱形輸出 */ func Diamond(cmax, rmax int) { laststar := 1 for r := 1; r <= rmax; r++ { var star, space, start, end int if (r == 1) { star = laststar } else if (r > 1 && r <= 4) { star = laststar + 2 } else { star = laststar - 2 } laststar = star space = cmax - star start = space/2 + 1 end = (start + star) - 1 for c := 1; c <= cmax; c++ { if (c < start || c > end) { fmt.Print(" ") } else { fmt.Print("*") } } fmt.Println() } } /** 輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。 */ func Charactortype(str string) { var e,s,d,o int for i := o; i < len(str); i++ { switch { case 64 < str[i] && str[i] < 91: // 英文 e += 1 case 96 < str[i] && str[i] < 123: // 英文 e += 1 case 47 < str[i] && str[i] < 58: //數(shù)字 d += 1 case str[i] == 32: //空格 s += 1 default: o += 1 } } fmt.Printf("字符串英文字符個數(shù)是: %d\n",e) fmt.Printf("字符串?dāng)?shù)字字符個數(shù)是: %d\n",d) fmt.Printf("字符串空格字符個數(shù)是: %d\n",s) fmt.Printf("字符串其它字符個數(shù)是: %d\n",o) } //3 構(gòu)造一個map以學(xué)號為 key 存儲學(xué)生信息(姓名、性別、學(xué)號、年齡、成績),產(chǎn)生10 個學(xué)生信息并存入 map,然后將所有學(xué)生信息取出,按成績排序(由高到低)存入一個切片中,然后按順序輸出學(xué)生信息。 type Student struct { name string sex string number string age string score int } type Students [] Student func (s Students) Len() int { return len(s) } func (s Students) Swap(i, j int) { s[i], s[j] = s[j], s[i] } func (s Students) Less(i, j int) bool { return s[i].score < s[j].score } /** 學(xué)生成績排序 */ func SortScore() { var sexs = [2]string{"男","女"} var names = [10]string{"張三","李四","王","趙","牛","何","劉","孟","齊","徐"} var students= make(map[int]Student) //產(chǎn)生10個學(xué)生信息 for r := 1; r <= 10; r++ { s1 := Student {names[rand.Intn(10)],sexs[rand.Intn(2)],fmt.Sprint(rand.Intn(100)),fmt.Sprint(rand.Intn(100)),rand.Intn(100)} students [ r ] = s1 } Studentss := make([]Student, 10,10) index :=0; for _,v:= range students{ Studentss[index] = v index++ } sort.Sort(sort.Reverse(Students(Studentss))) //按照 score 的由高到底排序 fmt.Println(Studentss) } //3 設(shè)計一段程序,滿足如下場景:鑰匙啟動車輛,車輛在導(dǎo)航的提醒下從外面開車回家. type Car struct { name string key int x int y int } func Navigation() { var navigations = [10][10]int{ {0, 1, 0, 0,0, 0,0, 0,0, 0,} , {0, 0, 0, 0,0, 0,0, 0,0,1,} , {0, 1, 0, 0,0, 0,0, 0,0, 0,} , {0, 0, 0, 0,0, 1,0, 0,0, 0,} , {0, 0, 1, 0,0, 0,0, 0,0, 0,} , {0,0, 0, 0,0, 1,0, 0,0, 0,} , {0, 0, 0, 1,0, 0,0, 0,0, 0,} , {0, 0, 0, 0,0, 1,0, 0,0, 0,} , {0, 0, 0, 0,0, 0,0, 1,0, 0,} , {0, 0, 0, 0,0, 1,0, 0,0, 0,}} car:= Car{"奧迪",1 ,0,0} if(car.key == 1){ for x,value := range navigations { for y,v := range value { if(v ==1){ car.x = x car.y = y fmt.Print("*") } else { fmt.Print(" ") } } fmt.Println() } fmt.Println("安全到家") } } func main() { Diamond(7, 7) Charactortype("werhewhrw232323 343434") SortScore() Navigation(); }
到此,關(guān)于“go語言程序?qū)嵗a分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。