Golang语言社区--Go语言基础第二节变量

大家好,我是社区主编cserli(或者大家叫我彬哥也可以),Golang语言社区一直致力于Go语言相关技术干货的分享,希望初学者可以少走些弯路,我仅仅是提供一个快捷学习的平台,希望越来越多的人熟知Go语言。这节课给大家带来的是关于Go语言的基础变量的文章。不管任何开发语言,变量是我们首选熟知的一个名词,那么什么是开发语言的变量哪?变量其实就是随着某些关联的条件发生变化后,变量的数据随之改变的一个具有固定意义但值不确定的名词。

那么Go语言是如何定义和使用变量那?如下

变量声明语句:

var 变量名 变量类型

例子:

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

可以使用一个var关键字同时声明多个变量:

var (
    v1 int
    v2 string
    v3 map[string]int    
)

如果在声明变量的同时还进行了初始化,则var关键字可以省略,并且Go编译器可以从初始化表达式的右值推导出该变量应该声明为哪种类型,这有点类似于动态类型,但Go实际上是强类型的语言(静态类型语言)。

如下所示三种用法的效果是一样的:

var v1 int = 10
v2 int = 10    // 编译器自动推导出v2的类型
v3 := 10      // 编译器自动推导出v3的类型

说明:

":="用于明确表达同时进行变量声明和初始化工作,但要注意出现在:=左侧的变量不应该是已经被声明过的,否则会导致编译器报错,如下:

var i int
i := 2     //error

这节就暂时到这里,下节课我们来聊聊常量在Go语言中的相关知识。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏个人随笔

Java 关于接口的那点事儿

接口的应用 接口是一种能力 关键字:interface 语法:  public interface MyInterface{   public void ...

3978
来自专栏C语言C++游戏编程

C语言内置运算符丰富到令人头皮发麻,C语言基础教程之运算符篇

运算符是告诉编译器执行特定数学或逻辑函数的符号。C语言内置运算符丰富,并提供以下类型的运算符 -

1291
来自专栏前端说吧

JS-几大排序算法(更新中...)

4375
来自专栏程序员叨叨叨

5.5 类型转换

Cg 中的类型转换和 C 语言中的类型转换很类似。C 语言中类型转换可以是强制类型转换,也可以是隐式转换,如果是后者,则数据类型从低精度向高精度转换。在 Cg ...

962
来自专栏NetCore

驳“反驳老赵之“伪”递归”

晚上看到鹤冲天的“反驳老赵之“伪”递归”,大概看了一下,主要是反驳老赵提出的“伪”递归的概念,特别是“伪”,看起来说的都很有道理,但我个人认为,老赵说的没有错,...

2285
来自专栏coding for love

JS进阶系列

在JS入门难点解析系列中,我们对JS的一些重要概念,比如:作用域,作用域链,原型,原型链,继承,活动对象,this,执行环境,变量声明,函数声明等进行了详细的分...

831
来自专栏玄魂工作室

Python黑帽编程2.9 面向对象编程

Python黑帽编程2.9 面向对象编程 我个人认为,计算机语言的发展,有两个方向,一个是从低到高的发展过程,在这个过程中,语言的思考和解决问题的方式是面向硬件...

3007
来自专栏青青天空树

成绩大排队

其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。

862
来自专栏大史住在大前端

野生前端的数据结构练习(9)冒泡排序,选择排序,插入排序

bubble sort的是最基本的算法,被誉为永远会被考从来不被用的算法,基本原则是大数右移,每轮遍历后最右侧的数是最大的,所以下一轮循环时可不予考虑,时间复杂...

792
来自专栏趣谈编程

选择排序

面试官: 聊聊选择排序 选择排序是一种简单直观的算法,今天我们聊聊选择排序的思想,代码以及复杂度 排序思想 一天,小一尘和师傅下山去了,在集市中路经一个水果摊,...

3338

扫码关注云+社区

领取腾讯云代金券