美文网首页
GO语言中的结构体与对象的修改

GO语言中的结构体与对象的修改

作者: 原味丿丿咖啡Vitas | 来源:发表于2020-04-17 11:36 被阅读0次
package main

import "fmt"

//用户结构体,用来声明对象,不赋值则为类型的初始值
type User struct {
    age int
    name string
    sex string
    address string
    phone string
    hobby []string
}

func main() {
    //初始化对象
    var user1 User
    user1.age = 18
    user1.name = "Vitas"
    user1.sex = "male"
    user1.address = "广东深圳"
    user1.phone = "13417572019"
    user1.hobby = []string{"篮球","游戏"}
    fmt.Print(user1)
    fmt.Printf("%v来自%v喜欢%v\n",user1.name,user1.address,user1.hobby)
    fmt.Printf("%T\n",user1)
    changeInfo(user1)
    //修改信息
    fmt.Printf("修改后的用户信息为%v\n",user1)
    changeInfo1(&user1)
    //修改信息
    fmt.Printf("真实修改后的用户信息为%v\n",user1)
}

//函数参数是拷贝,也就是副本,改变不了原来的类的值
func changeInfo(user User)  {
    user.sex = "female"
    user.age = 28
}

//如果需要改变值,传指针,根据地址找到原来的值,再去修改
func changeInfo1(user *User)  {
    //(*user).sex = "female"
    //指针是不能修改的,可以直接user去取,会根据指针取到对应的对象
    user.sex = "female"

    (*user).age = 38
}

打印结果:


image.png

相关文章

  • Go结构体、方法、接口

    1 结构体 Go语言中没有“类”的概念,也不支持像继承这种面向对象的概念。但是Go语言的结构体与“类”都是复合结构...

  • GO语言中的结构体与对象的修改

    打印结果:

  • Golang——结构体struct

    Go语言中没有“类”的改变,不支持类的“继承”等面向对象概念。Go语言中通过结构体的内嵌再配合接口比面向对象更具有...

  • 11.结构体

    Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具...

  • Go语言基础之结构体

    Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具...

  • 结构体

    结构体初识 结构体指针 结构体的匿名字段 结构体嵌套 Go语言中的OOP

  • 12-Go语言结构体

    结构体 结构体的基本概念 什么是结构体Go语言中的结构体几乎和C语言中的结构体一模一样都需要先定义结构体类型, 再...

  • 13-GoLang结构体

    结构体 Go语言中的结构体几乎和C语言中的结构体一模一样都需要先定义结构体类型, 再定义结构体变量都是用来保存一组...

  • Go 语言程序设计——面向对象编程(5)

    结构体 Go 语言中创建自定义结构体最简单的方式是基于 Go 语言的内置类型创建 自定义类型也可以基于结构体创建,...

  • go结构体(struct)和方法(method)

    结构体(struct) go中没有对象这一概念,所以采用了结构体的概念,结构体在go中有着非常重要的位置。结构体是...

网友评论

      本文标题:GO语言中的结构体与对象的修改

      本文链接:https://www.haomeiwen.com/subject/gldevhtx.html