-
分类于
Golang
发表于2020-07-09
## 互联网是如何运作的?
* 因特网实际上是一个分布在世界各地并连接不同设备的网络。即使你看不到物理线,你也可以想象你的智能手机通过虚拟线连接到一个WiFi路由器上,虚拟线可以让你和千里之外的数据服务器进行交互。
* 当你想要通过互联网将数据发送到与你设备相连的设备时,需要遵守一些规则。所有在互联网上传输的数据都是由0和1组成的二进制数据。
* 首先,用于发送数据的应用程...
阅读全文 »
-
分类于
Golang
发表于2020-03-03
Go中的map在底层是用哈希表实现的,它具有高效的添加、获取和删除操作。
# 创建一个新的 map
```go
var m map[string]int // nil map of string-int pairs
m1 := make(map[string]float64) // Empty map of string-float64 pa...
阅读全文 »
-
分类于
Golang
发表于2020-03-02
全球唯一标识符([UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier))或全球唯一标识符(GUID)是一个用于标识信息的128位数字。
* uuid实际的目的是唯一的:它被复制的可能性几乎趋于0。
* uuid 不依赖于中央权威,也不依赖于生成 uuid 的那些机构之间的协调。
UUID 字符串表现是由32个十...
阅读全文 »
-
分类于
Golang
发表于2020-03-02
ASCII码定义128个字符,由代码点0-127标识。它包括英文字母、拉丁数字和其他一些字符。
Unicode是ASCII的一个超集,它定义了一个包含1,114,112个码点的codespace。Unicode版本10.0包含139个现代和历史脚本(包括runic字母表,但不包括Klingon),以及多个符号集。
# Strings and UTF-8 encoding
字符串是字节序...
阅读全文 »
-
分类于
Golang
发表于2020-03-02
[math/rand](https://golang.org/pkg/math/rand/) 包中方法 [rand.Shuffle](https://golang.org/pkg/math/rand/#Shuffle) 会通过指定的交换函数打乱数组的输入序列即进行洗牌。
```go
a := []int{1, 2, 3, 4, 5, 6, 7, 8}
rand.Seed(time.No...
阅读全文 »
-
分类于
Golang
发表于2020-03-02
Go 提供了两个生成随机数的包。
* [math/rand](https://golang.org/pkg/math/rand/)实现了伪随机数生成器。
* [crypto/rand](https://golang.org/pkg/crypto/rand/)使用有限的接口实现加密安全的伪随机数生成器。
```go
import (
crand "crypto/rand"
ra...
阅读全文 »