Litecoin (LTC) 算法
跟之前分析过的 BTC 算法类似,Litecon (LTC) 的算法也是寻找一个整数(nonce),以满足某个要求。它使用了 Scrypt 哈希算法,而不再是两次 sha256。以 …
跟之前分析过的 BTC 算法类似,Litecon (LTC) 的算法也是寻找一个整数(nonce),以满足某个要求。它使用了 Scrypt 哈希算法,而不再是两次 sha256。以 …
Go 语言里的接口,先看定义:
type iface struct {
tab *itab
data unsafe.Pointer
}
type eface struct {
_type *_type
data unsafe.Pointer
}
其中 iface 描述接口变量(比如 var x IA)的内容及布局,变量大 …
Go 语言在返回错误时,允许进行 Wrap 包装。比如,函数 f() 调用函数 g(),在遇到错误、但处理不了时,可以这样:
func e() {
// ...
if err := f(); err != nil {
fmt.Printf …这里记录一下 Go 语言里 panic 的状态信息的变化和处理。用几个例子进行对比,后面是结论。
func main() {
defer func() {
fmt …Go 语言的项目里,单元测试一般这样写:
func Test_Xxx(t *testing.T) {
if err := Xxx(); err != nil {
t.Errorf("bad")
} else {
t.Logf("ok")
}
}
输入命令 go test -v 运行测试,并观察结果。
PASS …Go 语言里,函数过程中通过 defer 注册的回调,会在函数结束前、按 LIFO 的顺序调用执行。有名返回值(named return value)在编程时,恰当的变量 …
变量的 pass-by-value
Go 语言里的切片 slice,主要是针对数组类型不够灵活的问题。比如,a [50]int 和 b [80]int 是不同的类型,但同一个 slice s []int …
Golang 类似于 C/C++,同时又从其他语言(比如 Python)里借鉴了一些语法,比如 range。
在使用上,range 有一些特性,如果不注意的话,很容易引起 …
使用 defer 时遇到的一些问题,专门记录一下。
先说结论,defer 函数时,所有变量是按值(Go 语言都是传值)来暂存,等到作用域结束前 …
Zynq 开发板,操作系统有时无法识别到优盘。
检查 Linux 里的 USB 驱动及配置。对比 Xilinx 的参考文档和示例,调试用的 kernel config、device …