目录
[一、 go语言的数据类型:](#一、 go语言的数据类型:)
[2)在全局变量中使用 := 会报编译错误](#2)在全局变量中使用 := 会报编译错误)
[1) 输出方法:Print](#1) 输出方法:Print)
[四点五)fmt包下的Scanf()方法 无法解决的问题:](#四点五)fmt包下的Scanf()方法 无法解决的问题:)
一、 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)变量的作用域
可以定义多个相同名称的局部变量,调用局部变量时采用就近原则。
Gopackage 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包下的Scanf()方法 无法解决的问题:
输出不会检索到空格后面的内容:
使用标准输入os.Stdin:
Goreader := bufio.NewReader(os.Stdin) line,prefix,err := reader.ReadLine() data := string(line) fmt.Println(data,prefix,err)