Go语言并发介绍

Golang从语言层面就对并发提供了支持,而goruntine是Go语言并发设计的核心。 Go语言的并发机制运用起来非常舒适,在启动并发的方式上直接添加了语言级的关键字就可以实现,和其他编程语言相比更...
阅读全文

Go语言文件读取

Go语言文件读取 文件读取 读取文件内容如下: cat ./file.txt  最近很火的一首小诗: 纽约时间比加州时间早三个小时, New York is 3 hours ahead of Cali...
阅读全文

go语言坑之并发访问map

go提供了一种叫map的数据结构,可以翻译成映射,对应于其他语言的字典、哈希表。借助map,可以定义一个键和值,然后可以从map中获取、设置和删除这个值,尤其适合数据查找的场景。但是map的使用有一定...
阅读全文

Go语言时间格式化

 time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。 当前时间戳 获取当前时间、时间戳函数和方法: func Now() Time Now返回当前本地时间。 func (t Time)...
阅读全文

Go语言压缩文件读写

 tar包实现了tar格式压缩文件的存取。本包目标是覆盖大多数tar的变种,包括GNU和BSD生成的tar文件。 压缩文件读写常用函数和方法: func NewWriter(w io.Writer) ...
阅读全文

Go语言CAS操作(比较并交换)

先比较变量的值是否等于给定旧值,等于旧值的情况下才赋予新值,最后返回新值是否设置成功。 使用锁的做法趋于悲观 我们总假设会有并发的操作要修改被操作的值,并使用锁将相关操作放入临界区中加以保护。 使用C...
阅读全文

Go语言读写锁

RWMutex是一个读写锁,该锁可以加多个读锁或者一个写锁,其经常用于读次数远远多于写次数的场景。 func (rw *RWMutex) Lock() Lock方法将rw锁定为写入状态,禁止其他线程读...
阅读全文

go语言学习:go类型系统

go语言是静态语言,这意味着编译器需要在编译时知道变量的类型。类型提供给编译期的信息: 内存规模:编译期得知该分配多少内存 内存表示信息:内存中存放的是何物 1. 自定义类型 1.1. 用户可以使用s...
阅读全文

Go语言异常处理

Go语言没有结构化异常,使用 panic 抛出错误,recover 捕获错误。 异常的使用场景简单描述:Go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处...
阅读全文