/dev/random
系统设备读取数据。/dev/random
系统设备的目的是生成随机数据,你可以使用这些数据来测试程序,或者,在本例中,你将为随机数生成器生成随机数种子。从/dev/random
获取数据可能有些棘手,这也是要在这里特别讨论它的主要原因。macOS High Sierra
机器上,/dev/random
文件具有如下的权限:Debian Linux
机器上,/dev/random
系统设备具有如下的Unix
文件权限:/dev/random
文件在这两种Unix
变体系统上具有类似的文件权限。惟一区别是它们的文件组权限不同,macOS
是wheel
,Debian Linux
上是root
。devRandom.go
,分为三部分。第一部分代码如下:dev/random
中读取数据,需要引入encoding/binary
标准包,因为/dev/random
返回二进制数据,需要解码。devRandom.go
第二部分代码如下:/dev/random
,因为Unix中一切皆是文件。devRandom.go
最后一部分代码如下:binary.Read()
函数从/dev/random
系统设备中读取数据, binary.Read()
函数需要三个参数:第二个参数(binary.LittleEndian
)指定了小端字节序,另一个选项是binary.BigEndian
,在计算机使用大端字节序时使用。devRandom.go
得到如下输出: