zoukankan      html  css  js  c++  java
  • go语言* map 章节习题

    github地址
    笔记

    4,8

    练习 4.8: 修改charcount程序,使用unicode.IsLetter等相关的函数,统计字母、数字等Unicode中不同的字符类别。

    令人惊讶的是 汉字也算是letter

    func charCount(s string)  {
    	var letterCount,numberCount,otherCount int
    	// 输入
    	//将 s 作为 输入
    	in := bufio.NewReader(strings.NewReader(s))
    	for  {
    		// 以 rune 为单位读取
    		r, n, err := in.ReadRune()
    
    		if err == io.EOF {
    			break
    		}
    		if err != nil {
    			fmt.Fprintf(os.Stderr, "charcount: %v
    ", err)
    			os.Exit(1)
    		}
    		// 无效码点
    		if r == unicode.ReplacementChar && n == 1 {
    			//invalid++
    			continue
    		}
    		if unicode.IsNumber(r) {
    			numberCount++
    			fmt.Printf("%v is number
    ",r)
    		}else if unicode.IsLetter(r){
    			letterCount++
    			fmt.Printf("%v is letter
    ",r)
    		}else {
    			otherCount++
    		}
    
    	}
    	fmt.Printf("letter: %v,	 number,%v	 other: %v",letterCount,numberCount,otherCount)
    }
    

    4.9

    package ex4_9

    import (
    "fmt"
    )

    /*
    编写一个程序wordfreq程序,报告输入文本中每个单词出现的频率。
    在第一次调用Scan前先调用input.Split(bufio.ScanWords)函数,这样可以按单词而不是按行输入。
    */

    func wordFreq(words []string) {
    count := make(map[string]int)
    for _,word :=range words{
    count[word] +=1
    }
    for k,v := range count {
    fmt.Printf("%v %v ",k,v)
    }
    }

  • 相关阅读:
    Mysql备份和恢复
    前端Css学习
    jQuery学习
    HTML页面学习
    Linux下java环境变量配置
    windows下java环境变量标准配置
    oracle查询消耗服务器资源SQL语句
    Java主线程在子线程执行完毕后再执行
    CentOS7 安装 Redis
    查看Oracle表空间使用情况
  • 原文地址:https://www.cnblogs.com/Jun10ng/p/12782021.html
Copyright © 2011-2022 走看看