为了账号安全,请及时绑定邮箱和手机立即绑定

go语言简单入门--常识和数据类型

标签:
Go

go语言常识:

1、包导出机制:首字母大写,代表可以导出,否则不能导出,所以看到所有包的方法都是首字母大写的。

2、所有的导入都要放到文件最前面,这是解析机制导致的。

3、go关键字可以并发,但是执行依赖调度,如果只是在main顺序的新建goroutine没有触发调度,则goroutine里面的代码不会执行。


go语言数据类型

1、go语言数据类型

a) 基本类型、引用类型、聚合类型、接口类型。(其实可以更广泛的将这个类型分为基本类型和引用类型,

b) 如何区分数据类型:基本类型空值是当前类型,引用类型的空值是nil。一般情况下,基本类型可以比较(==), 引用类型不可比较。)

2、基本类型(18个)

bool

byte

rune(存储unicode)

int/uint

int8/uint8

int16/uint16

int32/uint32

int64/uint64

float32

float64

complex64

complex128

string

a) Int: int8、 uint8、int16、uint16...,int需要注意的点是:

i. 基础的int类型在不同的操作系统里是不一样的,64位操作系统中是int64,32位操作系统中是int32.

ii. Byte是int8类型的同义词,rune是int32的同义词,前者是一个数据的原始类型,后者多用于描述unicode码点。

b) float32、float64

c) complex64、complex128

d) string

e) struct

f) bool

g) array [v]type{} 这里也可以用特殊表示法如[...]int{99: 1}

 

3、常见的引用类型

a) Slice:slice看上去和array类似,但是是array的引用即每一个slice都有一个底层数组。[]type{value1}

b) Interface

c) Map: map[keyType]valueType

d) channel

 

  • 这里有几点小技巧:

  1. 可以比较的数据类型才能作为一个map的键,所以map的键都是基本类型。

  2. 值类型存储在栈中,引用类型存储在堆或栈中。

  3. 无符号整数的应用场景大多是些二进制解码,加密或hash等。

  4. Const类型的变量都是基本类型。

 

  • String类型常用的包有下面四个:

  1. strings:用于对string进行一些操作,例如count、prefex、contains等等

  2. strconv: 用于string与其他类型的装换或者解析,如strconv.Itoa、strconv.ParseBool()等。

  3. bytes:和strings类似,不过大多处理的是[]byte{}这种类型的字符串。

  4. unicode: 处理unicode相关的东西。

 

需要记住:

通过fmt.Print之类的函数打印一个变量时,其实是调用当前变量的String方法,因 此只要这个变量包含String方法,就会重写原有的String方法,调用当前变量String 方法。 


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
9110
获赞与收藏
2572

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消