arrays - 因为在将指针添加到接口数组后,我无法恢复指针的值
问题描述
我正在研究“指针”。我可以使用“&”和“*”运算符正常打印内存位置和变量值。问题是当内存地址位于接口数组内时,我无法打印该值。我可以提取内存位置,但不能提取值。怎么做?
package main
import (
"fmt"
)
func main() {
var name string = "Name User"
var pointer *string
var array []interface{}
pointer = &name
array = append(array, &name)
fmt.Println("Memory address: ", pointer) // OK
fmt.Println("Variable value: ", *pointer) // OK
fmt.Println("Memory address: ", array[0]) // OK
fmt.Println("Variable value: ", *array[0]) // ERROR
}
错误:
invalid indirect of array[0] (type interface {})
解决方案
推荐阅读
- apache - 将整个子目录设为 410
- c++ - boost 1.72 为 icmp::resolver 获取 icmp::socket io_service
- python - Python:合并 io.BytesIO 形式的音频文件
- javascript - 解析 Promise 数组
- python - 随机选择有条件的操作符(add,sub)
- firebase - 提交动作需要做什么?
- sbt - sbt 删除其他scala版本的classes文件夹下的资源
- emacs - emacs org-mode 导出到 iCalendar 格式问题
- java - 检查类中的字符串是否为空
- ios - 以编程方式创建的 UIElement 的 id 是否自动生成?