
区块链
记录成长
牧羊人_
为了更加美好的生活
展开
-
go基础常识(必记点)
1. Golang中有哪些方式进行安全读写共享变量Mutex ------------------- 互斥锁RWMutex--------------- 读写锁(基于Mutex实现)无缓冲Channel-------- 同步关于Mutex有关的博客–> https://www.jianshu.com/p/679041bdaa392. Chan 的发送和接收ch := make(chan int) //无缓冲的channel由于没有缓冲,发送和接收需要同步ch := make原创 2020-11-27 21:18:38 · 1337 阅读 · 2 评论 -
GO语言实现非对称加密流程及实例
“非对称加密也叫公钥密码: 使用公钥加密, 使用私钥解密”下面我们来看一看使用公钥密码的通信流程。假设Alice要给Bob发送一条消息,Alice是发送者,Bob是接收者,而窃听者Eve能够窃所到他们之间的通信内容。在公非对称加密通信中,通信过程是由接收者Bob来启动的。Bob生成一个包含公钥和私钥的密钥对。私钥由Bob自行妥善保管。Bob将自己的公钥发送给AliceaBob的公钥被窃听者Eve截获也没关系。将公钥发送给Alice,表示Bob请Alice用这个公钥对消息进行加.原创 2020-11-13 13:00:01 · 973 阅读 · 1 评论 -
GO语言实现对称加密流程及实例
以分组为单位进行处理的密码算法称为分组密码(blockcipher)编码的概念计算机的操作对象并不是文字,而是由0和1排列而成的比特序列。将现实世界中的东西映射为比特序列的操作称为编码(encoding)。加密 -> 编码解密 -> 解码DES – Data Encryption Standard现在使用DES方式加密,数据还安全吗?不安全, 已经被破解了是不是分组密码?是, 先对数据进行分组, 然后在加密或解密DES的分组长度?.原创 2020-11-13 11:50:42 · 796 阅读 · 0 评论 -
go语言实现简单爬虫
go语言实现简单爬取网页案例本次使用go语言简单实现爬取百度贴吧里面的绝地求生吧,只是利用了一个http.Get()方法即可轻易爬取相关网页代码直接上代码:package mainimport ( "fmt" "io" "net/http" "os" "strconv")func httpGet(url string) (result string, err error) { resp, err1 := http.Get(url) if err1 != nil { err原创 2020-10-20 22:30:58 · 2839 阅读 · 1 评论 -
利用go并发与网络通信编写聊天室服务端
利用go并发与网络通信编写聊天室服务端图片引用第三方上代码:package mainimport ( "fmt" "net" "strings")//注意结构体定义是type,不是vartype Client struct { C chan string Name string Addr string}//用户在线列表 key表示ip和端口号,value表示Client结构体var onlineClient map[string]Client//全局chan原创 2020-10-19 12:56:21 · 304 阅读 · 0 评论 -
并发基础
并发基础并发与并行并发意味着程序在任意时刻都是同时运行的并行意味着程序在单位时间都是同时运行的并行就是在任一粒度的时间内都具有同时执行的能力;并发是在规定的时间内多个请求都得到了执行和处理,强调的是给外界的感觉,实际上内部可能是分时操作go语言并发执行体叫做goroutine,Go语言通过go关键字来启动一个goroutine注意:go关键字的后面必须跟一个函数,不能是语句或其他东西,函数的返回值被忽略go+匿名函数形式启动goroutinepackage mainimpo原创 2020-10-11 19:49:33 · 169 阅读 · 0 评论 -
go语言接口的基本概念
接口的基本概念接口声明使用接口字面量的场景非常少,一般只有空接口interface{}类型的变量的声明才会使用接口支持嵌套接口接口字面量类型的声明语法interface { MethodSignature1 MethodSignature2}接口命名类型使用type关键字声明语法type InterfaceName interface{ MethodSignature1 MethodSignature2}方法声明Go语言中的函数没有使用“函数声明原创 2020-10-11 19:48:15 · 290 阅读 · 0 评论 -
Go语言随笔(一些需要注意的小细节)
Go语言随笔(一些需要注意的小细节)int类型是一个特殊的类型,在64位电脑上占8个字节,在32位电脑上占4个字节基本数据类型布尔类型布尔类型数据与整型数据不能进行交换声明的布尔类型默认为false浮点型浮点数字面量被自动类型推断为float64类型两个浮点数之间不应该使用==或!=进行比较操作,应该使用math标准库复数类型复数类型有两种:complex64和complex128,复数在计算机中由两个浮点数表示,一个实部一个虚部complex64:两个float32组成原创 2020-10-06 13:31:53 · 193 阅读 · 0 评论