1.Println和Printf的区别

1.1Println

功能:打印并自动换行(无法格式化)

1.2Printf

功能:格式化输出(必须使用%占位符进行格式化输出)

1.3两者比较

声明变量var a int = 10,并输出.

  1. //Println版本
  2. package main
  3. import "fmt"
  4. func main(){
  5. a := 10
  6. fmt.Println(a)
  7. }
  1. //Printf版本
  2. package main
  3. import "fmt"
  4. func main(){
  5. a := 10
  6. fmt.Printf("%d\n", a) //Printf不会自动换行"\n"为换行的转义符
  7. }

2.格式化输出的占位符

捕获.PNG

2.1输出

2.1.1整型

  1. //整型
  2. a := 15
  3. fmt.Printf("a = %b\n", a) //a = 1111(二进制)
  4. fmt.Printf("%%\n") //只输出一个%

2.1.2字符型

  1. //字符
  2. ch := 'a'
  3. fmt.Printf("ch = %c, %c\n", ch, 97) //a, a(assci码)

2.1.3浮点型

  1. f := 3.14
  2. fmt.Printf("f = %f, %g\n", f, f) //f = 3.140000, 3.14
  3. fmt.Printf("f type = %T\n", f) //f type = float64

2.1.4复数类型

  1. //复数类型
  2. v := complex(3.2, 12)
  3. fmt.Printf("v = %f, %g\n", v, v) //v = (3.200000+12.000000i), (3.2+12i)
  4. fmt.Printf("v type = %T\n", v) //v type = complex128

2.1.5布尔类型

  1. fmt.Printf("%t, %t\n", true, false) //true, false

2.1.6字符串

  1. //字符串
  2. str := "hello go"
  3. fmt.Printf("str = %s\n", str) //str = hello go

2.2输入

输入函数:(类似于python的input())

  1. //基本语法
  2. var vname tpye //任何变量的使用都需要声明
  3. fmt.Scanf("%占位符", &vname)//确定接受的数据类型,并绑定在vname变量上

示例:

  1. var a int
  2. fmt.Scanf("%d", &a)
  3. fmt.Println(a) //输出