Golang基础(一)

1. 变量声明与赋值

// var.go

package main

import "fmt"

var a string
var b bool
var c string = "Delav"
var d = 2333
var e = "Golang"
var f, g int = 1, 2
var h, i = 123, "Hello"

func main() {
    j := "Python"  
    fmt.Println(a)
    fmt.Println(b,c)
    fmt.Println(d,e)
    fmt.Println(f,g)
    fmt.Println(h,i)
    fmt.Println(j)
}

输出如下:


false Delav
2333 Golang
1 2
123 Hello
Python

注意:

1).   字符串的赋值不能使用单引号; 

2).   j := "Python"  这种声明格式的只能在函数体中出现

2. 常量

常量是一个简单值的标识符,在程序运行时,不会被修改的量。

常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型

// const.go

package main

import "fmt"

const a int = 1
const b string = "delav"
const c bool = true
const d, e, f = 2, true, "str"
func main() {
    fmt.Println(a)
    fmt.Println(b)
    fmt.Println(c)
    fmt.Println(d, e, f)
}

输出如下:

1
delav
true
2 true str

2.1. 常量操作

常量可以用len(), cap(), unsafe.Sizeof()函数计算表达式的值。常量表达式中,函数必须是内置函数,否则编译不过

package main

import "fmt"
import "unsafe"

const (
    a = "delav"
    b = len(a)
    c = unsafe.Sizeof(a)
)

func main(){
    fmt.Println(a, b, c)
}

输出如下:

delav 5 16

2.2.  特殊常量 iota

iota,可以认为是一个可以被编译器修改的常量。iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。

package main

import "fmt"

func main() {
    const (
            a = iota   //0
            b          //1
            c          //2
            d = "delav"   //独立值,iota += 1
            e          //"delav"   iota += 1
            f = 100    //iota +=1
            g          //100  iota +=1
            h = iota   //7,恢复计数
            i          //8
    )
    fmt.Println(a,b,c,d,e,f,g,h,i)
}

输出如下:

0 1 2 delav delav 100 100 7 8
原文地址:https://www.cnblogs.com/delav/p/9935411.html