golang中的变量和常量

声明变量使用:var
声明常量使用:const

大多数的数据类型的值都可以赋值给一个变量。而常量则不同,常量只能被赋予基本类型的值本身。

例子说明:

package main

import "fmt"

const cons string = "constant"

func main() {
	 //变量:普通赋值,由关键字var、变量名称、变量类型、特殊标记=,以及相应的值组成。
	 //单个声明赋值
    var a = "initial"
    fmt.Println(a) // initial
    
    // 平行声明赋值,int 可以省略
    var b, c int = 1, 2
    fmt.Println(b, c) // 1 2
    
    var d, s = true, "str"
    fmt.Println(d, s) // true str
    
    //只声明,不赋值,默认0
    var e int
    fmt.Println(e) // 0
    
    //使用:=赋值
    f := "short"
    fmt.Println(f) // short
    
    //多行赋值
    var (
       num1  = 4
       num2  = "5"
    )
    fmt.Println(num1, num2) // 4 5
    
    //常量
    fmt.Println(cons) //constant

	//单个声明赋值
    const n = 500000000
    fmt.Println(math.Sin(n)) // -0.28470407323754404
    
    //强制转换
    const m = 3e20 / n
    fmt.Println(m)        // 6e+11
    fmt.Println(int64(m)) // 600000000000
    
    //平行赋值
    const s1, in1 = "s1", 1
    fmt.Println(s1, in1) // s1 1
    
    //多行
    const (
       s2  = "s2"
       in2 = 2
    )
    fmt.Println(s2, in2) // s2 2
}

其他类型变量声明类似:

var (
    v1 int             // 整形
    v2 *int            // 指针
    v3 string          // 字符串
    v4 []int           // 数组切片
    v5 [10]int         // 数组
    v6 map[string]int  // map
    v8 func(a int) int // 函数
    v7 struct {        // 结构体
        f int
    }
)

你可能感兴趣的:(golang,golang的变量和常量)