【每日知识】go语言基本语法 2018-06-09

2018-06-09  本文已影响0人  大爬虫Shalom

变量

变量的声明:
      var a int
      a = 10
      fmt.Println("a=", a)
      var b = 20
      fmt.Println("b =", b)
      c := 30//自动推导类型 
      fmt.Println("c=", c)

Println和Printf的区别

a := 12
b, c := 13, 14
fmt.Println(a, b, c) //有自动换行的功能
fmt.Printf("%d \n %d \n %d", a, b, c) //打印字符串"%d%d%d",同时用a,b,c的值替换%d //'\n'为换行的意思

多重赋值、函数调用和匿名变量

func main() {
    i, j := 11, 22
    i, j = j, i //多重赋值
    fmt.Printf("i=%d j=%d\n", i, j)
    var d, e, f int
    d, e, f = test() //函数的调用
    fmt.Printf("d=%d e=%d f=%d\n", d, e, f)
    var g int
    g, _ = i, j //匿名变量
    fmt.Println("g=", g)
    d, _, f = test()
    fmt.Println("d=", d, "f=", f)
}
func test() (a, b, c int) {
    return 1, 2, 3
}

常量和iota枚举

const a int = 10 //常量只能初始化,不可再赋值:a = 10
const b = 1.2 //自动推导类型不需要加“:”
fmt.Println("a=", a)
fmt.Printf("%T", b)//%T是打印类型的意思
const ( //专门给常量用的,从0开始累加
    a = iota
    b = iota
    c = iota
)
 fmt.Printf("a=%d b=%d c=%d\n", a, b, c)
 const d = iota //遇到const归零
 fmt.Println("d=", d)
 const (
     a1 = iota //可以省略后面的iota
     b1
     c1
     d1, e1, f1 = iota, iota, iota //同一行的值都是一样的
)
 fmt.Printf("a1=%d b1=%d c1=%d d1=%d e1=%d f1=%d", a1, b1, c1, d1, e1, f1)

bool类型

var a bool//初始值为false
fmt.Println("a0=", a)
a = true
fmt.Println("a=", a)
b := true
fmt.Println("b=", b)

浮点型

var a float32
a = 3.14
fmt.Println("a=", a)
b := 3.14 //自动推导的类型为float64
fmt.Printf("b type is %T", b)

上一篇下一篇

猜你喜欢

热点阅读