golang error (slice of unaddressable value)
2024-10-20 18:57:54
使用 Golang 将生成的 md5 转化为 string 的过程出现如下编译错误:
错误解析:
值得注意的一点是 func Sum(data []byte) [Size]byte 这个函数返回的结果是数组(array)而不是切片(slice)。
用下面的例子说明,编译错误的那行是因为 [3]int{1,2,3} 没有赋值给任何变量的时候,编译器是不知道它的地址的,因此编译到 [:] 时会报错。解决的办法就是将 [3]int{1,2,3} 赋值给一个变量,然后再对这个变量切片。
dill$ go run test.go
# command-line-arguments
./test.go::: invalid operation []int literal[:] (slice of unaddressable value)
dill$ cat test.go
package main
import "fmt" func main(){
b := []int{,,}[:] // compile error
//b := [3]int{1,2,3} // works
c := b[:] // works
fmt.Println(c[])
}
最新文章
- Ios8,Xcode6下 设置Launch Image 启动图片
- YARN资料收集
- 纯练手设置ip地址脚本
- 【CodeForces 699A】Launch of Collider
- Android开发环境--eclipse和Android Studio
- Python模块——bisect
- lintcode:两数组的交 II
- JQ绑定事件(1.9已经废除了live()等绑定事件方法,on()方法是官方推荐的绑定事件的一个方法)
- laravel post请求失败
- 七个你无法忽视的Git使用技巧(转)
- 自己主动机串标:Directed Acyclic Word Graph
- Mysql高级之事务
- bom是什么?
- office online server部署和简单操作
- Value = undefined
- cobbler全自动批量安装部署linux
- Condition使用
- iOS学习资源搜集
- codis+redis集群学习整理(待续)
- sql server 碎片整理——DBCC SHOWCONTIG