并行、并发 并行和并发的区别: 并行:两个或多个程序在同一时刻执行。 并发:两个或多个程序在同一个时间段内执行。 并行执行的程序,在同一时刻,是真真正正的有多个程序在 CPU 上执行,这也就需要 CPU 提供多核计算的能力。而并发执行的程序,只是在宏观的角度观察到有多个程序在 CPU 上执行,微观上是它们在 CPU 上被快速轮换执行。 对于进程、线程、协程,并发、并行,在我之前的文章中讲并发掌握时
使用Go语言经常会犯的错误。当我们遍历一个数组,如果用range获取变量保存到另一个数组或者slice时,会遇到令人困惑的问题。 func main() { slice := []int{1, 2, 3} var ptrSlice []*int for _, v := range slice { ptrSlice = append(ptrSlice, &v) } for _, v := r
Go,也称为 Golang 或 Go 语言,是Google 开发的一种开源编程语言。软件开发人员在一系列操作系统和框架中使用 Go 来开发 Web 应用程序、云和网络服务以及其他类型的软件。 Go 是静态类型的、显式的,并且是在C编程语言之后建模的。由于 Go 语言的快速启动时间、低运行时开销以及无需虚拟机 ( VM ) 即可运行的能力,它已成为一种非常流行的用于编写微服务和其他用途的语言。此外,
互联网的高速发展,人们对安全的要求也越来越高。密码学中两大经典算法,一个是对称加解密,另一个是非对称加解密,这里就来分享一下非对称加密算法的代表:RSA加解密。 在Go语言中实现RSA加解密还是比较简单的,网上很多教程都是基于Go原生标准库写的,代码量较多。这里分享一个好用的库:https://github.com/forgoer/openssl 。 安装 go get https://githu