Golang学习笔记 数据类型和变量

数据类型

先来介绍一下Golang的数据类型。

布尔型

bool类型代表逻辑值,有真值true和假值false两种取值。

整数类型

整数类型有如下几种,这些整数都是有符号的类型,它们的无符号版本是类型名前面添加u,例如uint32

类型

长度

int8

1字节

int16

2字节

int32

4字节

int64

8字节

除此以外,还有比较特殊的几种类型。

类型

长度

备注

byte

1字节

是int8的别名

int

和系统有关

有符号整数

uint

和系统有关

无符号整数

uintptr

和系统有关

指针类型

rune

4字节

是int32的别名,代表Unicode代码点

浮点数类型

有两种浮点数,单精度float32和双精度float64,类似于Java语言中的floatdouble

复数类型

Golang支持复数类型,有complex64complex128两种精度不同的复数类型。

字符串类型

字符串类型是string

类型默认值

对于布尔类型,默认值是false;对于整数类型,默认值是0;对于字符串类型,默认值是空值字符串""

变量和常量

变量声明

Golang比较特殊的一点就是类型后置了。如果学习过C系的语言,我们会习惯int a这样的类型 变量名方式。不过这种方式在复杂的类型组合下不太直观,所以Golang采用了后置的类型声明方式。如果声明的时候不指定初始化值,就会使用对应类型的默认值。

//类型在变量名后面
var i int

如果一行声明多个变量且类型相同,可以只在最后一个变量上添加类型。

var x, y int
//声明的同时赋值
var a, b int = 3, 4

如果要声明的是局部变量(在函数内部的变量),可以使用另一种方式:=,省略var关键字。这时候必须在声明的时候同时给定初始值,变量类型则由初始值的类型推断。

func hey() {
    k := 5
    fmt.Printf("k=%d", k)
}

类型转换

Golang不支持隐式类型转换,所有类型都需要显式转换。转换使用类型名(变量名)的方式。

var count int = int(32.0)

常量声明

声明常量使用const关键字,常量无法使用:=方式声明。

const Pi = 3.1415926

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

String中的null,以及String s;等区别详解

1、判断一个引用类型数据是否null。 用==来判断。 2、释放内存,让一个非null的引用类型变量指向null。这样这个对象就不再被任何对象应用了。等待JVM...

3644
来自专栏我的博客

Objective-C基础知识

1.标示符:字母、下划线、美元符号和数字组成,字母和下划线美元符号开头,区分大小写 2.代码区存放代码,数据区存放静态变量和字符串常量,栈存放局部变量,堆存放...

2033
来自专栏北京马哥教育

Python Re 模块最全解读: 11703 字帮你彻底掌握

re模块下的函数 compile(pattern):创建模式对象 import re pat=re.compile('A') m=pat.search('CBA...

34010
来自专栏工科狗和生物喵

【计算机本科补全计划】Java学习笔记(三) 数据类型

正文之前 Java的面向对象特性太明显了。先开篇告诉你我们的对象是啥意思,然后直截了当的告诉你,每个文件都是一个类。也就是说每个文件都可以给你传出来一种对象,然...

3544
来自专栏程序员互动联盟

【记忆卡片】C语言32个关键字

C语言的关键字共有32个,可分其为 数据类型关键字、控制语句关键字、存储类型关键字以及其它关键字 数据类型关键字(12个): (1) char :声明字符型变量...

3597
来自专栏吾爱乐享

java之学习基本类型包装类的概述及Integer类的概述和构造方法

1564
来自专栏前端儿

JS中 toString() & valueOf()

toString()可以看做是把一个数据转换成了相应字符串的形式,安照这个转换规则中

1721
来自专栏吾爱乐享

java之学习集合相关笔记一

1242
来自专栏架构之路

Java中Class类详解、用法及泛化

Java中Class类及用法 Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI。这项信息纪录了每个对象所属的...

3086
来自专栏Vamei实验室

Python补充01 序列的方法

在快速教程中,我们了解了最基本的序列(sequence)。回忆一下,序列包含有定值表(tuple)和表(list)。此外,字符串(string)是一种特殊的定值...

1938

扫码关注云+社区

领取腾讯云代金券