PHP中高级工程师面试重点讲解视频课程
Go快速入门浅显易懂视频教程-基础篇
Go快速入门浅显易懂视频教程-中级篇
go变量
阅读:4746 分享次数:0

 下面是代码例子:
//go 变量
//申明包名main
package main 

//导入包名
import(
    "fmt"
)

var a int //声明一个int类型的变量
var b struct{ //声明一个结构体
    name string
}

var c = 8 //声明变量同时赋值
var ( //批量声明变量,简洁
    d int
    e string
)

var name1 int = 5 //1声明变量name1,并且初始化

//一行申明多个变量
var f,g int

//同一行初始化多个变量,不同类型也可以,这里默认初始化值,根据值进行定义了类型。
var h,i,j = 5,"abd",0.4

func main(){
    name2 := "test" //2声明变量并初始化值,这种赋值不能在函数外面进行赋值
    //打印变量
    fmt.Println(a,b,c,d,e,f,g,h,i,j)
    fmt.Println(name1,name2)
}

总结:  
1、变量声明(variable declaration)中的初始化表达式(initialization expressions)的求值顺序(evaluation order)由初始化依赖(initialization dependencies)决定;但对于初始化表达式内部的操作数的求值需要按照2中的顺序:从左到右;  
2、在非变量初始化语句中,对表达式、赋值语句或返回语句中的操作数进行求值时,操作数中包含的函数(function)调用、方法(method)调用和通信操作(主要针对channel)将按语法从左到右的顺序求值。  
3、赋值语句求值分为两个阶段,第一阶段是等号左边的index expressions、pointer indirections和等号右边的表达式中的操作数的求值顺序按照2中从左到右的顺序;第二阶段按从左到右的顺序对变量赋值。

注意:  
1.Go里面不损失精度的情况下会把8.0这类浮点数视作整数8  
2.Go里面的常数是高精度数,分为几类。1.有类型的:uint(8),类型显式指定了,在表达式里面不会变化。2.无类型的:分成无类型整数和无类型浮点两类。这两类在使用的时候会根据上下文需要的类型转化为实际类型

感觉本站内容不错,读后有收获?