one:求1到100之间的质数

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:统计字符串中有哪些单词并统计出出现次数

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:简易版学生信息管理系统

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)
}
}
}

  

go经典练习题涉及流程控制-字符串-struct-map的数据类型的处理的更多相关文章

  1. swift_简单值 | 元祖 | 流程控制 | 字符串 | 集合

    //: Playground - noun: a place where people can play import Cocoa var str = "Hello, playground& ...

  2. Go语言学习笔记-流程控制(二)

    Go语言流程控制 字典类型Map 1.上节遗留:map字典类型 变量声明:var myMap map[string] PersonInfo 其中,myMap是变量名,string是键的类型,Perso ...

  3. Go 从入门到精通(三)字符串,时间,流程控制,函数

    一.strings和strconv的使用 strings strings.HasPrefix(s string,preffix string) bool:判断字符串s是否以prefix开头 stirn ...

  4. day2(字符串、格式化输出、运算符、流程控制)

    一.字符串 在Python中,加了引号的字符都被认为是字符串! 单引号.双引号.多引号的区别? 单引号和 双引号没有任何区别,但是某种情况下需要单双配合 如 msg = " My name ...

  5. python的学习笔记01_3 基本运算符 流程控制if while 字符串常用办法

    基本运算符 运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运 ...

  6. 【二】php 字符串操作及三大流程控制

    字符串操作: trim:去除字符串开始位置和结束位置的空格 ltrim:去除开始处的空格 rtrim:去除结束处的空格 strtoupper:将字符串转换为大写 strtolower:将字符串转换为小 ...

  7. golang基础之三-字符串,时间,流程控制,函数

    strings和strconv的使用 strings strings.HasPrefix(s string,preffix string) bool:判断字符串s是否以prefix开头 stirngs ...

  8. Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)

    一.字符串常用操作 #Python strip() 方法用于移除字符串头尾指定的字符(默认为空格) name='*egon**' print(name.strip('*'))#移除 name 变量对应 ...

  9. python基础(字符串常用、数字类型转换、基本运算符与流程控制)

    一.字符串常用操作: #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "Z'N'Y" # Date: 2 ...

随机推荐

  1. 配置Linux环境

    安装mariadb +主从复制https://www.cnblogs.com/pyyu/p/9467289.html 参考博客 redis https://www.cnblogs.com/pyyu/p ...

  2. JVM(一):Java内存区域与内存溢出异常

    一.运行时数据区 共分为5块: 程序计数器      (线程私有,当前线程所执行的字节码的行号指示器) Java虚拟机栈  (线程私有,证明周期与线程相同,描述的是Java方法执行的内存模型,每个方法 ...

  3. HTTP缓存技术,304和200有何区别

    为什么有的缓存是 200 OK (from cache),有的缓存是 304 Not Modified 呢?很简单,看运维是否移除了 Entity Tag.移除了,就总是 200 OK (from c ...

  4. cocos2d-x-2.2.0_win7+vs2010搭建_eclipse+ndk-r9+cygwin搭建_教程以及编译问题汇总

    声明:我是才用c/c++和cocos2d-x的如果有错误欢迎指出 文章内容我亲测过可以通过,同时我也会一直更新内容 感谢那些把自己的东西分享出来的人 原文地址:http://www.cnblogs.c ...

  5. Check-Point-Security-Gateway-BYOL-R77.30-041.161

    平台: CentOS 类型: 虚拟机镜像 软件包: checkpoint redhat smartconsole basic software security vfw 服务优惠价: 按服务商许可协议 ...

  6. arcgis api for js 地图查询

      arcgis api for js入门开发系列四地图查询(含源代码) 上一篇实现了demo的地图工具栏,本篇新增地图查询功能,包括属性查询和空间查询两大块,截图如下: 属性查询效果图: 空间查询效 ...

  7. Excel2Dataset

    //获取用户打开的Excel文档路径 private stringkkk() { OpenFileDialog selectFile = new OpenFileDialog(); selectFil ...

  8. iOS开发资料

    https://github.com/XCGit/awesome-objc-frameworks https://github.com/KevinHM/ios-good-practices-the-l ...

  9. angular路由学习笔记

    文章目录 标签routerLink路由传递参数 url中get传值 定义路由 获取参数 配置动态路由 定义路由 获取参数 API js路由跳转 配置动态路由 定义路由 获取参数 get传值 定义路由 ...

  10. RxJava2 方法总结

    RxJava2 方法总结 看了许多讲解RxJava的文章,有些文章讲解的内容是基于第一个版本的,有些文章的讲解是通过比较常用的一些API和基础的概念进行讲解的. 但是每次看到RxJava的类中的几十个 ...