使用 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[])
}

golang error (slice of unaddressable value)的更多相关文章

  1. golang 对slice的深拷贝 copy

    测试 slice的地址 copy的时候 发现有问题: package main import "fmt" func main() { nums:=[]int{1,2,3,4,5} ...

  2. golang:slice切片

    一直对slice切片这个概念理解的不是太透彻,之前学习python的就没搞清楚,不过平时就用python写个工具啥的,也没把这个当回事去花时间解决. 最近使用go开发又遇到这个问题,于是打算彻底把这个 ...

  3. golang array, slice, string笔记

    本来想写一篇关于golang io的笔记,但是在学习io之前必须了解array, slice, string概念,因此将在下篇写golang io.   array: 数组的长度是该数组类型的一部分, ...

  4. Golang error 的突围

    目录 error 的困局 尝试破局 Errors are just values handle not just check errors Only handle errors once 小结 胎死腹 ...

  5. golang用slice、list当queue

    背景 golang没有queue这种类型,不过可以用slice.list模拟 slice当queue 声明队列 var queue []int 入队一个元素: queue = append(queue ...

  6. [Golang]-1 Slice与数组的区别

    目录 数组 1.创建数组: 2.数组是值拷贝传递: 切片(slice) 1.首先看看slice的源码结构: 2.slice的创建: 3.slice使用make创建 4.切片作为参数传递 5.Golan ...

  7. Golang Clearing slice

    //first method : slice = nil // second method : slice = slice[0:0] Source page : https://www.socketl ...

  8. golang切片slice

    切片slice是引用类型 len()函数获取元素的个数 cap()获取数组的容量 1.申明方式 (1)var a []int 与数组不同的是他不申明长度(2)s2 := make([]int, 3, ...

  9. 使用golang的slice来模拟栈

    slice(切片):底层数据结构是数组 stack(栈):一种先进后出的数据结构 普通版的模拟写入和读取的栈 package main import "fmt" //栈的特点是先进 ...

随机推荐

  1. Laravel5如何向闭合函数内传递参数 where function 传参

    如上,怎么将$title 像$query一样,在函数内部使用? $result = UserMenus::with(['menu'=>function($query){ $query->w ...

  2. SQLite 参数化查询

    SQLite参数化查询 首先给出两个参考博客: Sqlite DB sqlite3使用简介 贴出一段自己用的代码: #include <stdio.h> #include <stdl ...

  3. P1086 花生采摘题解

    这道题只是普通的模拟,不是贪心! 重点在于这句话:“然后再找出剩下的植株里花生最多的,去采摘它的花生”. 也就是,你下一个必须找到剩下花生最多的,而不是按照贪心思想来考虑在限定时间内的最优解 那么,应 ...

  4. 转载:网络编程 socket 可读可写条件判断

    转自:http://blog.csdn.net/majianfei1023/article/details/45788591 要了解socket可读可写条件,我们先了解几个概念:1.接收缓存区低水位标 ...

  5. FCC 成都社区·前端周刊 第 3 期

    01. Chrome65 的新功能 CSS Paint API 允许使用编程方式生成图像:Server Timing API允许服务器将时间信息通过HTTP headers传递给浏览器: CSS di ...

  6. Tronado【第2篇】:tronado自定义Form组件

    Tronado自定义Form组件 一.获取类里面的静态属性以及动态属性的方法 方式一: # ===========方式一================ class Foo(object): user ...

  7. HDU-3081-Marriage Match 2(最大流, 二分答案, 并查集)

    链接: https://vjudge.net/problem/HDU-3081 题意: Presumably, you all have known the question of stable ma ...

  8. python 从入门到实践 第三章

    在第3章,你将学习如何在被称为列表的变量中存储信息集,以及如何通过遍历列表来操作其中的信息 写注释 # 代码越长 标识好代码的重要性 越来越重要要求习惯:在代码中编写清晰,简洁的注释开始研究更复杂的主 ...

  9. postman添加测试

    我们有的时候可能需要登陆才能使用下面的接口 解决方案.在浏览器中找到cookie.然后放在postman中的Headers中

  10. luogu P2661 信息传递 x

    P2661 信息传递 题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学. 游戏开始时,每人都只知 ...