1.Println和Printf的区别
1.1Println
功能:打印并自动换行(无法格式化)
1.2Printf
功能:格式化输出(必须使用%占位符进行格式化输出)
1.3两者比较
声明变量var a int = 10,并输出.
//Println版本
package main
import "fmt"
func main(){
a := 10
fmt.Println(a)
}
//Printf版本
package main
import "fmt"
func main(){
a := 10
fmt.Printf("%d\n", a) //Printf不会自动换行"\n"为换行的转义符
}
2.格式化输出的占位符
2.1输出
2.1.1整型
//整型
a := 15
fmt.Printf("a = %b\n", a) //a = 1111(二进制)
fmt.Printf("%%\n") //只输出一个%
2.1.2字符型
//字符
ch := 'a'
fmt.Printf("ch = %c, %c\n", ch, 97) //a, a(assci码)
2.1.3浮点型
f := 3.14
fmt.Printf("f = %f, %g\n", f, f) //f = 3.140000, 3.14
fmt.Printf("f type = %T\n", f) //f type = float64
2.1.4复数类型
//复数类型
v := complex(3.2, 12)
fmt.Printf("v = %f, %g\n", v, v) //v = (3.200000+12.000000i), (3.2+12i)
fmt.Printf("v type = %T\n", v) //v type = complex128
2.1.5布尔类型
fmt.Printf("%t, %t\n", true, false) //true, false
2.1.6字符串
//字符串
str := "hello go"
fmt.Printf("str = %s\n", str) //str = hello go
2.2输入
输入函数:(类似于python的input())
//基本语法
var vname tpye //任何变量的使用都需要声明
fmt.Scanf("%占位符", &vname)//确定接受的数据类型,并绑定在vname变量上
示例:
var a int
fmt.Scanf("%d", &a)
fmt.Println(a) //输出