go语言day03

发布于:2024-06-25 ⋅ 阅读:(54) ⋅ 点赞:(0)

目录

         一、 go语言的数据类型:

二、声明赋值的简写形式: ":="

                1)重复使用的编译错误

                2)在全局变量中使用  := 会报编译错误

三、变量规则:

         0)变量的命名规则:

                1)创建的局部变量声明但不使用,会报编译错误

                  2)变量的作用域

四:fmt包下的公开方法:

       1) 输出方法:Print

        2)输入方法:Scan

四点五)fmt包下的Scanf()方法 无法解决的问题:

使用标准输入os.Stdin:


       一、 go语言的数据类型:

二、声明赋值的简写形式: ":="

        var x = 10;                 ======>   x := 10

        var x int =10;           ======>   x := 10

        var y string = "abc";   ======>   y := "abc"

        var y  = "abc";            ======>   y := "abc"

     注意点:

                1)重复使用的编译错误

                var关键字表示变量的声明,使用:=同样代表了变量的声明。

                同时使用两者会出现编译错误。

                类比于java就像是  声明了一个变量,没有引用该变量,而是再次声明该变量。

                2)在全局变量中使用  := 会报编译错误

                              

三、变量规则:

         0)变量的命名规则:

 

                1)创建的局部变量声明但不使用,会报编译错误

                  2)变量的作用域

                可以定义多个相同名称的局部变量,调用局部变量时采用就近原则。

package main

import "fmt"

var number = 99

func main() {
    number := 66
    if true {
        number := 33
        fmt.Println(number) // 输出: 33
    }
    fmt.Println(number) // 输出: 66
}

四:fmt包下的公开方法:

       1) 输出方法:Print

        fmt.Print()

        fmt.Println()                    换行输出

        fmt.Printf("a%s","bcd")   使用占位符%s,回填字符串为abcd

        2)输入方法:Scan

        fmt.Scan(&name,&nick) 

                输入两个值,并赋值给相应参数name,回车会一直等待输入两个数为止

        fmt.Scanln(&name,&nick)

                输入两个值,并赋值给相应参数name,回车直接运行

        fmt.Scanf("我的名字叫 %s 哈哈哈",&name) 

                输入一个值,并赋值给相应参数name,%s为实际赋值给&name的值

建议使用此方法时在要截取的值前后加上空格,否则有可能出现截取到%s哈哈哈的情况。 

        

四点五)fmt包下的Scan()方法 无法解决的问题:

        输出不会检索到空格后面的内容:


使用标准输入os.Stdin:

reader := bufio.NewReader(os.Stdin)
line,prefix,err := reader.ReadLine()
data := string(line)
fmt.Println(data,prefix,err)