Go -- go语言指针
2017-05-04 08:32
681 查看
package main import "fmt" type Test struct { Name string } func change2(t *Test) { t.Name = "2" } func change3(t *Test) { // !! 这里的量尽然改了 //注意这里括号 //如果直接*t.Name=3 编译不通过 报错 invalid indirect of t.Name (type string) //其实在go里面*可以省掉,直接类似change2函数里这样使用。 (*t).Name = "3" } func change4(t Test) { t.Name = "5" } func main() { // t 是一个地址 t := &Test{Name:"1"} change2(t) fmt.Println(t.Name) change3(t) fmt.Println(t.Name) // 这里传递变量用了* change4(*t) fmt.Println(t.Name) }
相关文章推荐
- go语言指针符号的*和&
- go语言笔记——指针,和C用法以及本质一样,但不支持指针的+-运算!
- GO语言中的指针
- Go语言中结构体方法副本传参与指针传参的区别介绍
- Go语言:变量声明,作用域,指针
- Go语言学习记录之一(返回指针与返回值的区别)
- Go语言-运算符(位,逻辑,算术,指针,赋值)
- go语言指针符号的*和&
- Go 语言指针
- go语言之指针
- Go语言的指针的一些测试
- GO语言结构体方法跟结构体指针方法的区别
- go语言指针与C指针的异同
- go语言指针探索
- Go语言学习笔记 --- 指针和自增自减运算及相关注意事项
- Go语言的方法接受者类型用值类型还是指针类型?
- [Go 语言] 指针,地址,形参,实参
- GO语言学习 指针&内存
- Go语言指针访问结构体的方法
- Go 语言的指针的学习笔记