go语言基础2

1.基本数据类型

Go语言是一种强类型的静态编译语言,类型是高级语言的基础,有了类型,高级语言才能对不同类型抽象出不同的运算。

Go语言内置七类基本数据类型(20个具体子类型)。

布尔类型:bool

整型:byte int int8 intl6 init32 int64 uint nt8 uintl6 uint32 uint64 uintptr

浮点型:float32 float64

复数:complex64 complexl28

字符:rune

字符串:string

错误类型:error

1.1 布尔类型

布尔类型关键字是bool,布尔类型只有两个值: true和fasle,true和fasle是Go内置的两个预声明标识符

我们先声明变量ok是布尔类型,然后再赋值为true:

布尔型数据和整型数据不能进行相互转换,所以下面例子会报错

比较表达式和逻辑表达式的结果都是布尔类型数据

声明的布尔类型如果不指定初始化值,则默认为false

1.2 整型

Go 语言内置了整数类型,不同类型的整型必须进行强制类型转换。

整型支持算术运算和位操作,算术表达式和位操作表达式的结果还是整型。

1.3 浮点型

浮点型用于表示包含小数点的数据 语言内置两种浮点数类型,分别是 float32 float64

1.4 复数类型

1.5 字符串

Go 语言将字符串作为 种原生的基本数据类型, 符串的初始化可以使用字符串字面量。 例如:

字符串转换为切片\[\]byte(s)要慎用,尤其是当数据量较大的时候,因为没转换一次都要复制一遍内容。

基于字符串创建的切片和原字符串指向相同的底层字符数组 一样不能修改 对字符 串的切片操作返回的子串仍然是由in ,而非 slice 例如:

字符串的运算:

1.6 指针

Go语言支持指针,Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址

这个地址可以存储在一个叫做指针的特殊数据类型中,我们可以这样声明var intp *int,然后再去对intp赋值调用,intP 存储了a 的内存地址;它指向了 a的位置,它引用了变量 a

相关推荐
Knight_AL28 分钟前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
利威尔xu43 分钟前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
FRing031 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
逃逸线LOF1 小时前
Ribbon负载均衡原理(Irule组件、源码分析)
后端·spring cloud·ribbon
by209992 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河2 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
慢云智慧空间2 小时前
从设备智能到空间理解,空间智能终端解决方案商如何重新定义行业标准
后端
利威尔xu2 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
IT召唤狮2 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
知已难寻2 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件