Go语言变量声明

变量声明及初始化

var name type(type是类型)

Go语言的基本类型有:

bool
string
int、int8、int16、int32、int64
uint、uint8、uint16、uint32、uint64、uintptr
byte // uint8 的别名
rune // int32 的别名 代表一个 Unicode 码
float32、float64
complex64、complex128
当一个变量被声明之后,系统自动赋予它该类型的零值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil 等
变量的命名规则遵循骆驼命名法,即首个单词小写,每个新单词的首字母大写,例如:numShips 和 startDate 。

简短声明方式

名字 := 表达式 (前提是这个名字之前没有被声明过,要不然会报错

变量的初始化

var hp = 100(可以省去int,直接赋值

短变量声明及初始化

hp := 100(hp在次之前不能被声明过

匿名变量

在编码过程中,可能会遇到没有名称的变量类型或方法。虽然这不是必须的,但有时候这样做可以极大地增强代码的灵活性,这些变量被统称为匿名变量。
匿名变量 不占用内存空间,不会分配内存。匿名变量与匿名变量之间也不会因为多次声明而无法使用。

复数类型

Go语言拥有两种复数类型,分别是 complex64(32 位实数和虚数)类型和 complex128(64 位实数和虚数)类型。

bool类型

布尔值可以和 &&(AND)和 ||(OR)操作符结合
&& 的优先级比||高(&& 对应逻辑乘法,|| 对应逻辑加法,乘法比加法优先级要高)

字符类型

  • 一种是 uint8 类型,或者叫 byte 型,代表了 ASCII 码的一个字符。
  • 另一种是 rune 类型,代表一个 UTF-8 字符,当需要处理中文、日文或者其他复合字符时,则需要用到 rune 类型。rune 类型等价于 int32 类型。

byte类型是uint8的别名
Unicode(UTF-8),在书写 Unicode 字符时,需要在 16 进制数之前加上前缀\u或者\U。因为 Unicode 至少占用 2 个字节,所以我们使用 int16 或者 int 类型来表示。如果需要使用到 4 字节,则使用\u前缀,如果需要使用到 8 个字节,则使用\U前缀。

Unicode 与 ASCII 类似,都是一种字符集。

数据类型转换

不存在隐式类型转换,因此所有的类型转换都必须显式的声明
从一个取值范围小的转换到取值范围大的,要不然会导致精度丢失
valueOfTypeB = typeB(valueOfTypeA)
类型 B 的值 = 类型 B(类型 A 的值)

指针类型

一个指针变量可以指向任何一个值的内存地址,它所指向的值的内存地址在 32 和 64 位机器上分别占用 4 或 8 个字节,占用字节的大小与所指向的值的大小无关。当一个指针被定义后没有分配到任何变量时,它的默认值为 nil。指针变量通常缩写为 ptr。

  • 使用在变量名前面添加&操作符(前缀)来获取变量的内存地址
  • 对指针使用*操作符,也就是指针取值

常量

关键字 const 定义,用于存储不会改变的数据,常量是在编译时被创建的,即使定义在函数内部也是如此,并且只能是布尔型、数字型(整数型、浮点型和复数)和字符串型。由于编译时的限制,定义常量的表达式必须为能被编译器求值的常量表达式。
常量的值必须是能够在编译时就能够确定的,可以在其赋值表达式中涉及计算过程,但是所有用于计算的值必须在编译期间就能获得

iota常量生成器

iota 将会被置为 0
举例:
type Weekday int
const (
Sunday Weekday = iota
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
)
周日将对应 0,周一为 1,以此类推。

字符串与数值类型的转换

  • 字符串转 int:Atoi();
  • int 转字符串:Itoa();
  • Parse 类函数将 string 转换为指定的数值类型:ParseBool()、ParseFloat()、ParseInt()、ParseUint()。因为 string 类型转数值类型可能会失败,所以这些函数都有第二个返回值表示转换是否成功;
  • Format 类函数将指定的数值类型转 string 类型:FormatBool()、FormatFloat()、FormatInt()、FormatUint();
  • Append 类函数用于将指定的数值类型转换成字符串后追加到一个切片中:AppendBool()、AppendFloat()、AppendInt()、AppendUint()。

详细举例参照:http://c.biancheng.net/view/5112.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值