Go语言基础

1、变量声明
Go语言的变量声明方式与C和C++语言有明显的不同。Go语言引入了关键字var,并且Go语言把变量类型放在变量名之后;示例如下:
1)、声明一个变量

    //定义一个类型为"int"的变量
    var vName int
    //定义一个类型为"string"的变量
    var vName2 string
    //定义一个类型为"int",且大小为10的数组变量
    var vName3 [10]int
    //定义一个类型为"int"的数组切片
    var vName4 []int
    //定义一个结构体变量
    var vName5 struct{
        vn int
    }
    //定义一个类型为"int"的指针变量
    var vName6 *int
    //定义一个数据字典,key类型为"string",value类型为"int"
    var vName7 map[string]int

通过上面的例子我们可以看看出,变量声明语句不需要使用分号作为结束符,并通过var关键字进行声明;同时Go语言为了避免程序员需要重复写关键字var,用关键字var可将若干个需要声明的变量放置在一起,示例如下:

var (
    vName1 int
    vName2 string
)

2)、声明多个相同类型的变量

//定义类型都是"int"的三个变量
var vName1,vName2,vName3 int

2、变量初始化
var关键字可以保留,但不再是必要的元素,示例如下:

//定义一个类型为"int"的变量,并对其初始化值
var vName1 int=1
//定义一个变量,但未指定数据类型,并对其初始化值
var vName2 = 1
//定义一个变量,且对其直接初始化值
vName :=1

通过上面三种实例,可以看出第三种用法是最简洁的;这里Go语言引入的另外一个字符(冒号和等号的组合:=),表示声明和初始化。
同时指定类型已不再是必需的,Go语言编译器可以从初始化表达式的值(右侧)推到出该变量应该声明为哪种类型。
对于:=左侧的变量不能同时声明多次,Go语言是不允许的,示例如下:

i :=1
//这个是不允许的
i :=2

var i int
//这个是不允许的
i :=1

因为符号:=表示声明和初始化,所以是不允许的,运行系统后会提示:no new variables no left side of:=
3、变量赋值
在Go语法中,变量初始化和赋值是两个不同的概念。

//声明一个类型为"int",名称为"vName"的变量
var vName int
//为变量"vName"赋值
vName=12

4、匿名变量
_(下划线)是个特殊的变量名,任何赋予它的值都会被丢弃。示例如下:

//将25赋予变量名称为"vName",并同时丢弃12
_,vName:12,25

通过上面的例子,我们可能会想到Go语言中多返回值的函数是否也可以使用匿名变量”_”哪?
假设我们有一个获取姓名的函数(GetFullName),它返回3个值,分别为firstName,lastName和nickName,示例如下:

//定义一个函数,并返回3个类型都为"string"
func GetFullName() (firstName,lastName,nickName string){
    return "my","wang","xiaoming"
}

如果我们只想获取lastName,则函数调用语句如下所示:

_,lastName,_=GetFullName()

5、定义常量
在Go语言中和大部分开发语言一样,用关键字”const”定义,示例如下:

//定义一个类型为"int"的常量
const utype int=3
//定义一个无类型的浮点常量
const zero=0.0

常量的定义应注意以下一点:
1)、常量的值不能是在运行期才能得出结果的值
也就是说常量的值可以是在编译期运算的常量表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值