博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Go语言变量
阅读量:4578 次
发布时间:2019-06-08

本文共 1448 字,大约阅读时间需要 4 分钟。

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。

Go语言是静态类型语言,不能在运行期间改变变量类型。使用关键字 var 定义变量,自动初始化为零值。如果提供初始化值,可省略变量类型,由编译器自动推断。

Go语言中变量可以在三个地方声明:

函数外定义的变量称为全局变量函数内定义的变量称为局部变量函数定义中的变量称为形式参数

接下来让我们具体了解全局变量、局部变量和形式参数。

全局变量

在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用。

局部变量

在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。

形式参数

形式参数会作为函数的局部变量来使用。

变量声明

第一种,指定变量类型,声明后若不赋值,使用默认值。

var name string

第二种,根据值自行判定变量类型。

var age = 18

第三种,变量声明并赋值

var class string = "Linux"

第四种,一次性声明多个变量

var Mon, Tues, Wed, Thur, Fri, Sat, Sun intvar (    Monday    int    Tuesday   int    Wednesday int    Thursday  int    Friday    int    Saturday  int    Sunday    int)

第五种,短声明变量

在函数内部,可以使用更简略的 ":=" 方式定义变量。":=" 简洁赋值语句在明确类型的地方,可以用于替代 var 定义。

package mainfunc main() {    name := "oldboy"    age, class := 18, "Linux"    _, _, _ = name, age, class}

注意:":=" 结构不能在函数外使用。

第六种,形式参数

package mainfunc main() {}func sum(a, b int) (c int) {    c = a + b    return}

变量优先级

Go语言程序中全局变量与局部变量名称可以相同,但是函数内的局部变量会被优先考虑。实例如下:

ackage mainimport "fmt"// 声明全局变量var variable string = "全局变量"func main() {    // 声明局部变量    var variable string = "局部变量"    fmt.Printf("结果:%s\n", variable)}

运行结果:

结果:局部变量

多变量赋值时,先计算所有相关值,然后再从左到右依次赋值。

package mainimport "fmt"func main() {    data, i := [4]string{
"course", "Python", "Linux", "Golang"}, 0 i, data[i] = 2, "oldboy" fmt.Printf("i:%v,data:%v\n", i, data)}

输出结果:

i:2,data:[oldboy Python Linux Golang]

 

转载于:https://www.cnblogs.com/jiangchunsheng/p/10702840.html

你可能感兴趣的文章
神经网路-SGD-1
查看>>
安卓冷知识:LayoutParams
查看>>
JAVA操作mysql(如何更加面向对象的操作数据库)
查看>>
Python9-事件及队列-day37
查看>>
团队作业3
查看>>
2.5.2 优先队列
查看>>
Linux下配置c/c++编译环境-Emacs-转载博客园
查看>>
Jmeter将HTTP request报文体中的字符串转换为大写
查看>>
UVa 11572 - Unique Snowflakes (set+滑动窗口思想)
查看>>
UVA 10954 Add All (优先队列的妙用)
查看>>
【转帖】const 与 readonly 的区别
查看>>
POJ -1679(次小生成树)模板
查看>>
hdu 3172 Virtual Friends
查看>>
Web.xml配置详解
查看>>
vue cli3
查看>>
基于SpringBoot从零构建博客网站 - 设计可扩展上传模块和开发修改头像密码功能...
查看>>
myeclipse自动生成相应对象接收返回值的快捷键
查看>>
获取当前日期
查看>>
Python的富比较方法__le__、__ge__之间的关联关系分析
查看>>
第2课—第5节
查看>>