设为首页 加入收藏

TOP

Go语言【数据结构】指针知多少?(二)
2019-09-24 11:16:12 】 浏览:107
Tags:语言 数据结构 指针 多少
{"Red","Iphone"} fmt.Println(phone1.color) fmt.Println(phone1.name) fmt.Println(phone1) // 第二种生成方式 生成结构体指针 phone2 :=&Phone{"Red","Iphone"} fmt.Println(phone2.color) fmt.Println(phone2.name) fmt.Println(phone2) // 第三种生成方式 生成结构体指针 phone3 := new(Phone) phone3.color = "Red" phone3.name = "Iphone" fmt.Println(phone3.color) fmt.Println(phone3.name) fmt.Println(phone3) } //Red //Iphone //{Red Iphone} //Red //Iphone //&{Red Iphone} //Red //Iphone //&{Red Iphone}

结构体赋值,等同于拷贝了结构体中的变量,函数传参与赋值一样

package main

import "fmt"

type Phone struct {
	color string
	name string
}

func main() {
	// 赋值
	phone1 :=Phone{"Red","Iphone"}

	phone2 := phone1
	phone2.color = "Green"
	fmt.Println(phone1.color)
	fmt.Println(phone2.color)
}

//Red
//Green

 而指针只是拷贝了结构体的内存地址,修改会影响原来的值

package main

import "fmt"

type Phone struct {
	color string
	name string
}

func main() {
	// 赋值
	phone1 :=&Phone{"Red","Iphone"}

	phone2 := phone1
	phone2.color = "Green"
	fmt.Println(phone1.color)
	fmt.Println(phone2.color)
}

//Green
//Green

  

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇GoCN每日新闻(2019-09-23) 下一篇golang开始篇

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目