美文网首页
【每日知识】go语言基本语法2018-06-11

【每日知识】go语言基本语法2018-06-11

作者: 大爬虫Shalom | 来源:发表于2018-06-11 08:25 被阅读0次

    字符类型

    func main() {
        var ch byte
        ch = 97
        fmt.Printf("%c,%d\n", ch, ch) //字符可以用数字表示,也可以用字母表示,在ASCII表中'a'对应的是97;
        ch = 'a'                      //%c意思是用字符打印;
        fmt.Printf("%d\n", ch)
    
        fmt.Printf("%d,%d\n", 'A', 'a')     //大小写字母对应的数字不同;
        fmt.Printf("%c,%c", 'a'-32, 'A'+32) //大小写之间的转换;
    }
    

    字符串

    func main() {
        var str1 string
        str1 = "shalom"
        str2 := "shalom1995"
        str3 := "你好shalom!"
        fmt.Println("str1 =", str1)
        fmt.Println("len(str2)=", len(str2)) //内建函数len(),代表长度
        fmt.Println("len(str3)=", len(str3))
        fmt.Printf("str3 type is %T", str3)
    }
    

    字符串和字符的区别

    func main() {
        str := "shalom" //字符串都隐含了一个终止字符'\0'
        ch := 'a'
        fmt.Printf("%T,%T\n", str, ch)
        fmt.Println(str)
        fmt.Printf("str[0]=%d,str[0]=%c,str[1]=%c", str[0], str[0], str[1]) //%d是以整形打印
        /*对字符串某一字母操作*/
    }
    

    自动化输出

    func main() {
        //%d %c %s %T %f分别是以 整型 字符 字符串 类型 浮点型 输出;
        a := 10
        b := 'r'
        c := "shalom"
        d := 3.14
        fmt.Printf("%T,%T,%T,%T\n", a, b, c, d)
        fmt.Printf("%d,%c,%s,%f\n", a, b, c, d)
        fmt.Printf("%v,%v,%v,%v", a, b, c, d) //%v是自动推导输出类型
        /*这里b被推导成int类型了*/
    }
    

    输入

    func main() {
        var a int
        fmt.Scanf("%d", &a) //会停止,等待键盘输入,回车后继续往下执行;
        fmt.Println("a=", a)
        fmt.Scan(&a) //更简单的方式;
        fmt.Println("a=", a)
    }
    

    自定义类型名

    func main() {
        type (
            shalom int
            test   byte
        )
        var v1 shalom //shalom就是int的意思;
        var v2 test
        fmt.Printf("v1 type is %T\nv2 type is %T", v1, v2)
    }
    

    if的使用

    func main() {
        sb := "王思聪"
        if sb == "王思聪" {
            fmt.Println("王思聪是sb")
        }
    
        if a := 10; a == 10 { //if支持一个初始化语句,与条件语句分号隔开;
            fmt.Println("a=", a)
        }
        if sb == "wangsicong" {
            fmt.Println("王思聪是逗逼")
        } else {
            fmt.Println("王思聪是傻逼")
        }
        var b int = 11
        if b == 10 {
            fmt.Println("王思聪是蠢子")
        } else if b < 10 {
            fmt.Println("王思聪是逗比")
        } else {
            fmt.Println("王思聪是傻逼")
        }
    }
    

    switch的使用

    func main() {
        var a int
        fmt.Print("请按下楼层:")
        fmt.Scan(&a)
        switch a { //用a的值与所有的case作比较,与if一样也可以带一个初始化语句;
        case 1:
            fmt.Println("按下的是1楼")
            fallthrough //不跳出,无条件执行下一层;
        case 2:
            fmt.Println("按下的是2楼")
            fallthrough
        case 3:
            fmt.Println("按下的是3楼")
        case 4:
            fmt.Println("按下的是4楼")
        default:
            fmt.Println("按下的是xxx楼")
        }
        //swich的第二种应用场景;
        var b int
        fmt.Scan(&b)
        switch {
        case b > 90:
            fmt.Println("优秀")
        case b > 80:
            fmt.Println("中等")
        case b > 60:
            fmt.Println("及格")
        default:
            fmt.Println("不及格")
        }
    }
    

    for的使用

    func main() {
        sum := 0
        for i := 0; i <= 100; i++ { //记住使用分号隔开;
            sum = sum + i
        }
        fmt.Println("sum=", sum) //从0加到100;
        str := "shalom"
        for i := 0; i < len(str); i++ {
            fmt.Printf("str[%d] = %c\n", i, str[i])
        }
    }
    

    一秒打印一个数

    func main() {
        i := 0
        for {
            i++
            time.Sleep(time.Second)
            if i == 5 {
                continue//是跳过继续的意思
                //break//是跳出循环的意思
            }
            fmt.Println(i)
        }
    }
    

    相关文章

      网友评论

          本文标题:【每日知识】go语言基本语法2018-06-11

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