美文网首页
for 中range遍历

for 中range遍历

作者: DamonYi | 来源:发表于2018-09-07 09:54 被阅读33次

    一、知识点,

    1、用rune将string统一成int32编码,go默认是utf-8,所以默认情况下中文字符是占3个字节

    2、index,value := range 数组,可以遍历得到角标和对应的字符

    3、获取控制台输入的一行字符串,用到os和bufio包

    二、代码,

    、、、

    package main

    import (

        "bufio"

        "fmt"

        "os"

    )

    func count(str string) (letterCount, spaceCount, numberCount, otherCount int) {

        t := []rune(str)

        for _, v := range t {

            switch {

            case (v >= 'a' && v <= 'z') || (v >= 'A' && v <= 'Z'):

                letterCount++

            case v == ' ':

                spaceCount++

            case v >= '0' && v <= '9':

                numberCount++

            default:

                otherCount++

            }

        }

        return

    }

    func main() {

        reader := bufio.NewReader(os.Stdin)

        result, _, err := reader.ReadLine()

        if err != nil {

            fmt.Println("read from console err:", err)

            return

        }

        letterCount, spaceCount, numberCount, otherCount := count(string(result))

        fmt.Printf("letterCount=%d\nspaceCount=%d\numberCount=%d\notherCount=%d\n", letterCount, spaceCount, numberCount, otherCount)

    }

    、、、

    3、图片及运行结果

    相关文章

      网友评论

          本文标题:for 中range遍历

          本文链接:https://www.haomeiwen.com/subject/mzmqgftx.html