Go语言的变量

字号+ 编辑: 呆头鹅甲 修订: 呆头鹅甲 来源: 利志分享 2015-02-07 11:33:56 我要说两句(0)

本文用代码案例讲述Go语言的变量以及Go变量的特性。

下面是代码例子:

//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中从左到右的顺序;第二阶段按从左到右的顺序对变量赋值。


注意:

I. Go里面不损失精度的情况下会把8.0这类浮点数视作整数8

II. Go里面的常数是高精度数,分为几类。

  1. 有类型的:uint(8),类型显式指定了,在表达式里面不会变化。

  2. 无类型的:分成无类型整数和无类型浮点两类。这两类在使用的时候会根据上下文需要的类型转化为实际类型


阅完此文,您的感想如何?
  • 鼓掌

    0

  • 鄙视

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.本站QQ群: 2702237

相关课文
  • go在arm上读取串口数据

  • Go语言截取指定字符串中间字符串的方法

  • go调用c使用比官方Cgo性能更加突出的c2goasm项目

  • Go语言框架之对比

我要说说
网上宾友点评
Go语言的变量