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

2018-06-11  本文已影响0人  大爬虫Shalom

字符类型

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)
    }
}
上一篇下一篇

猜你喜欢

热点阅读