go基础语法

定义变量:

可放在函数内,或直接放在包内
使用var集中定义变量
使用:=定义变量写的短一些
package main

import (
    "fmt"
    "math"
    "math/cmplx"
)
//定义变量
func variableZeroValue(){
    var a int
    var s string
    fmt.Printf("%d %q\n",a,s)
}
//函数外定义变量
var(
    aa = 22
    bb = 55
    cc = "jjj"
)
//变量赋初值
func variableInitialValue(){
    var a,b int = 3,4   //go语言中定义的变量一定要用到,否则报错
    var s string = "abc"
    fmt.Println(a,b,s)
}

//go语言推断变量type
func variablrTypeDeduction(){
    var a,b,c,s = 2,3,true,"def"
    fmt.Println(a,b,c,s)
}
//更加简便的写法
func variableShorter(){
    a,b,c,s:= 5,6,true,"dfg"
    fmt.Println(a,b,c,s)
}

go常量定义:

//go语言常量定义
func consts(){
    const(
        filename = "abc.txt"
        a,b = 5,6   //常量的数值可以作为任何类型使用
    )
    var c int
    c = int(math.Sqrt(a*a + b*b))
    fmt.Println(filename,c)
}
//枚举类型
func enums(){
    const(
        /*
        cpp = 0
        python = 1
        java = 2
        golang = 3
        */
        cpp = iota           //iota自增
        _
        python
        golang
        javascript
    )
    //b,kb,mb,gb,tb,pb
    const(
        b = iota << (10 * iota)
        kb
        mb
        gb
        tb
        pb
    )
    fmt.Println(cpp,python,javascript,golang)
    fmt.Println(b,kb,mb,gb,tb,pb)
}

强制类型转换:

func triangle(){
    var a,b int = 3,4
    var c int
    c = int(math.Sqrt(float64(a * a + b * b))) //类型转换是强制的
    fmt.Println(c)
}

func main() {
fmt.Println("hello golang!")
variableZeroValue()
variableInitialValue()
variablrTypeDeduction()
variableShorter()
fmt.Println(aa,bb,cc)
euler()
triangle()
consts()
enums()
}
 
//go语言内建变量
bool,string
(u)int,(u)int8,(u)int16,(u)int32,(u)int64,uintptr
byte,rune
float32,float64,complex64,complex128

 

posted @ 2018-10-13 23:19  BigZero  阅读(723)  评论(0编辑  收藏  举报