one:求1到100之間的質數app
package main import ( "fmt" ) func isPrime(n int) bool { var flag = true for j := 2; j < n; j++ { if n % j == 0 { //計算質數,若是這個數能被本身整除哪麼它就是質數 flag = false break } } return flag } func main() { var n int = 100 for i := 2; i < n; i++ { if isPrime(i) { fmt.Printf("%d is prime\n", i) } } }
two:統計字符串中有哪些單詞並統計出出現次數blog
package main import ( "fmt" ) func addWord(wordCount map[string]int, chars []rune) { words := string(chars) if len(words) > 0 { count, ok := wordCount[words] if !ok { wordCount[words] = 1 } else { wordCount[words] = count + 1 } } } func main() { str := "how are hou! you are welcome!" var tmp []rune var wordCount map[string]int = make(map[string]int, 10) var chars []rune = []rune(str) for i := 0; i < len(str); i++ { if str[i] >= 'a' && str[i] <= 'z'|| str[i] >= 'A' && str[i] <= 'Z' { tmp = append(tmp, chars[i]) } else { addWord(wordCount, tmp) tmp = tmp[0:0] } } if len(tmp) > 0 { addWord(wordCount, tmp) } for k,v := range wordCount { fmt.Printf("key:%s v:%d\n", k, v) } }
Three:統計字符串中每個字符個數字符串
package main import ( "fmt" ) func addWord(charCount map[rune]int, char rune) { count, ok := charCount[char] if !ok { charCount[char] = 1 } else { charCount[char] = count + 1 } } func main() { str := "how are hou! you are welcome!中國" var charCount map[rune]int = make(map[rune]int, 10) var chars []rune = []rune(str) for i := 0; i < len(chars); i++ { addWord(charCount, chars[i]) } for k,v := range charCount { fmt.Printf("key:%c v:%d\n", k, v) } }
Four:簡易版學生信息管理系統get
package main import ( "os" "fmt" ) type Student struct { Id string Name string Age int Sex string Score float32 } func showMenu() { fmt.Printf("please select:\n") fmt.Printf("1.添加學生信息\n") fmt.Printf("2.修改學生信息\n") fmt.Printf("3.顯示學生列表\n") fmt.Printf("4.退出\n") } func getStudentInfo() Student { var stu Student fmt.Printf("Please input Id:\n") fmt.Scanf("%s\n",&stu.Id) fmt.Printf("Please input name:\n") fmt.Scanf("%s\n",&stu.Name) fmt.Printf("Please input Age:\n") fmt.Scanf("%d\n",&stu.Age) fmt.Printf("Please input Sex:\n") fmt.Scanf("%s\n",&stu.Sex) fmt.Printf("Please input Score:\n") fmt.Scanf("%f\n",&stu.Score) return stu } func addStudent(allStudent map[string]Student) { stu := getStudentInfo() _, ok := allStudent[stu.Id] if ok { fmt.Printf("studnet %s is exists\n",stu.Id) return } allStudent[stu.Id] = stu } func modifyStudent(allStudent map[string]Student) { stu := getStudentInfo() _, ok := allStudent[stu.Id] if !ok { fmt.Printf("studnet %s is not exists\n",stu.Id) return } allStudent[stu.Id] = stu } func showStudnetList(allStudent map[string]Student) { for _, val := range allStudent { fmt.Printf("Id:%s\nName:%s\nAge:%d\nSex:%s\nScore:%f\n", val.Id, val.Name, val.Age, val.Sex, val.Score) } } func main() { var sallStudent map[string]Student = make(map[string]Student, 10) for { showMenu() var sel int fmt.Println("-------------------------") fmt.Scanf("%d\n", &sel) switch sel { case 1: addStudent(sallStudent) case 2: case 3: showStudnetList(sallStudent) case 4: os.Exit(0) } } }