一.Print / PrinlIn / Printf 的用法及区别
1.Print / Println区别
a.Print不会自动换行,Println会自动换行输出
b.如果一次输出多个值时,Print中间没有空格,Println中间会有空格输出
package main
import "fmt"
func main() {
fmt.Println("A","B","C")
fmt.Print("A","B","C")
}
2.Printlln / Printf区别
a.Printf在实际使用中,运用较多,格式化输出%v,%T输出类型
b.Printf 不会自动换行,Println会自动换行
func main() {
var a = 10
var b = 15
var c = 20
fmt.Println("a=",a,"b=",b,"c=",c)
fmt.Printf("a=%v b=%v c=%v",a,b,c)
}
二.常见变量定义
(go语言中变量定义了必须要使用)
1.Var定义
var 变量名 类型(可省略) = 表达式 (var name string = “vv”)
var a="aaa"
变量名是以数字字母下划线组成,首个字符不可为数字
a.一次声明多个变量(var可以进行类型推倒)
var(
username string
age int
sex string
)
username="张三"
age=20
sex="aa"
fmt.Println(username,age,sex)
2.类型推倒方式定义变量
变量名 := 表达式
a.在函数内部,可以使用更简略的方法 := 声明并初始化变量
注意:短变量只能用于声明局部变量,不可用于全局变量的声明
a := 10
b := 15
c := 20
%v:格式化输出,%d:十进制输出,%o:八进制输出,%T:类型输出
a.一次声明多个变量(可以进行类型推倒)
a,b,c :=10,15,20
3.匿名变量
_(下划线):匿名变量不会占用空间,不会分配内存,所以匿名变量间不存在重复声明
package main
import "fmt"
func getuserinfo() (string,int) {
return"zhangsan",10
}
func main() {
var username,_= getuserinfo()
fmt.Println(username)
}
三.定义常量
1.const 定义常量,必须赋值且常量的值不可以改变,一次可以声明多个常量
const(
a="A"
b="B"
)
如果同时声明多个常量时,如果省略了值表示和上面一行的值相同
const(
a=10
b= //10
c= //10
d= //10
)
2.常量结合iota使用
a.iota是golang中的计数器,只能在常量表达式中使用
b.iota在关键字const出现时会被重置为0,const中每新增一行常量声明将使iota计数一次(可理解为const语句块中的行索引)
const(
a=iota //0
b=100 //100
c=iota //2,声明中iota可插队
d= //3
)
fmt.Println(a,b,c,d)