Golang中哪些值是不可以寻址的

互联网 19-12-17

不可以寻址,指的是不能通过&获得其地址。 (推荐学习:go)

golang中不能寻址的可以总结为:不可变的,临时结果和不安全的。只要符合其中任何一个条件,它就是不可以寻址的。

具体为:

package main     type Named interface {     	// Name 用于获取名字。     	Name() string     }     type Dog struct {     	name string     }     func (dog *Dog) SetName(name string) {     	dog.name = name     }     func (dog Dog) Name() string {     	return dog.name     }     func main() {     	// 示例1。     	const num = 123     	//_ = &num // 常量不可寻址。     	//_ = &(123) // 基本类型值的字面量不可寻址。     	var str = "abc"     	_ = str     	//_ = &(str[0]) // 对字符串变量的索引结果值不可寻址。     	//_ = &(str[0:2]) // 对字符串变量的切片结果值不可寻址。     	str2 := str[0]     	_ = &str2 // 但这样的寻址就是合法的。     	//_ = &(123 + 456) // 算术操作的结果值不可寻址。     	num2 := 456     	_ = num2     	//_ = &(num + num2) // 算术操作的结果值不可寻址。     	//_ = &([3]int{1, 2, 3}[0]) // 对数组字面量的索引结果值不可寻址。     	//_ = &([3]int{1, 2, 3}[0:2]) // 对数组字面量的切片结果值不可寻址。     	_ = &([]int{1, 2, 3}[0]) // 对切片字面量的索引结果值却是可寻址的。     	//_ = &([]int{1, 2, 3}[0:2]) // 对切片字面量的切片结果值不可寻址。     	//_ = &(map[int]string{1: "a"}[0]) // 对字典字面量的索引结果值不可寻址。     	var map1 = map[int]string{1: "a", 2: "b", 3: "c"}     	_ = map1     	//_ = &(map1[2]) // 对字典变量的索引结果值不可寻址。     	//_ = &(func(x, y int) int {     	//	return x + y     	//}) // 字面量代表的函数不可寻址。     	//_ = &(fmt.Sprintf) // 标识符代表的函数不可寻址。     	//_ = &(fmt.Sprintln("abc")) // 对函数的调用结果值不可寻址。     	dog := Dog{"little pig"}     	_ = dog     	//_ = &(dog.Name) // 标识符代表的函数不可寻址。     	//_ = &(dog.Name()) // 对方法的调用结果值不可寻址。     	//_ = &(Dog{"little pig"}.name) // 结构体字面量的字段不可寻址。     	//_ = &(interface{}(dog)) // 类型转换表达式的结果值不可寻址。     	dogI := interface{}(dog)     	_ = dogI     	//_ = &(dogI.(Named)) // 类型断言表达式的结果值不可寻址。     	named := dogI.(Named)     	_ = named     	//_ = &(named.(Dog)) // 类型断言表达式的结果值不可寻址。     	var chan1 = make(chan int, 1)     	chan1 <- 1     	//_ = &(<-chan1) // 接收表达式的结果值不可寻址。     }

以上就是Golang中哪些值是不可以寻址的的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: golang
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:golang不开发gui吗

相关资讯