首页 > 其他分享 >Go语言学习day2

Go语言学习day2

时间:2023-01-07 22:58:35浏览次数:38  
标签:p1 语言 int age day2 Person Go fmt string

1.go的结构体没有构造函数,但是可以自己实现一个。由于值拷贝的开销比较大,所以返回的是结构体指针类型

package main

import "fmt"

type person struct {
	name, city string
	age        int
}

func newPerson(name, city string, age int) *person {
	return &person{
		name: name,
		city: city,
		age:  age,
	}
}

func main() {
	p1 := newPerson("sss", "sss", 123)
	fmt.Println(p1.age)
}

2.go语言中的方法与函数的区别是函数不属于任何类型,但是方法属于特定的类型。

3.想要修改结构体内某个成员变量的值,必须传递结构体指针作为接收者,反之,如果使用值类型的接收者,那么无法改变原始的值。

    // SetAge 设置p的年龄
    // 使用指针接收者
func (p *Person) SetAge(newAge int8) {
    p.age = newAge
}
    p1.SetAge(30)
调用该方法:

func main() {
    p1 := NewPerson("测试", 25)
    fmt.Println(p1.age) // 25
    fmt.Println(p1.age) // 30
}

4.结构体支持匿名字段

//Person 结构体Person类型
type Person struct {
    string
    int
}

func main() {
    p1 := Person{
        "pprof.cn",
        18,
    }
    fmt.Printf("%#v\n", p1)        //main.Person{string:"pprof.cn", int:18}
    fmt.Println(p1.string, p1.int) //pprof.cn 18
}

标签:p1,语言,int,age,day2,Person,Go,fmt,string
From: https://www.cnblogs.com/kyszdsmz/p/17032556.html

相关文章

  • go in action学习,go语法一些特殊点
    1.如果接口类型只包含一个方法,那么这个类型的名字以er结尾。如果接口类型内部声明了多个方法,其名字需要与其行为关联。2.如果要让一个用户定义的类型实现一个接口,这个用......
  • 适合编程初学者的开源项目:小游戏2048(Go语言版)
    目标为编程初学者打造入门学习项目,使用各种主流编程语言来实现。2048游戏规则一共16个单元格,初始时由2或者4构成。1、手指向一个方向滑动,所有格子会向那个方向运动。2......
  • R语言中axis 中调整标签与轴线的距离
     使用padj参数调整垂直距离;使用hadj参数调整水平距离;  001、padj参数par(mfrow=c(2,1))plot(1:10,cex=2,pch=17,xaxt="n",xlab="",main="0.5")......
  • go自学笔记
    自己啃官网,搞成能用的系统;]golang语言环境下载地址:http://go.p2hp.com/#google_vignette一直下一步安装,完成cmd:goversion看版本,是否安装成功在文件管理器......
  • C语言:初识指针
    1.内存认识指针,首先要认识内存内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的,所以为了有效的使用内存,就把内存分成一个个小的内存单元,每个内存单元的大......
  • .net core操作MongoDB
    前言现实中认识的一个搞java(百万富婆)的大佬,已经转行做抖音主播了,搞技术的只能赶在年前再水一篇博客,不足之处欢迎拍砖,以免误人子弟,呔,真是太难受了环境准备.ne......
  • Golang入门到实战核心编程-第五章-程序流程控制
    目录1.程序流程控制1.1程序流程个控制介绍1.2三大流程控制介绍及案例1.2.1顺序流程控制1.2.1.1顺利流程控制介绍1.2.1.2顺序流程控制流程图1.2.1.3顺序流程控制案例......
  • 自定义数据类型:结构体(C语言进阶)
    结构体类型的声明结构体的自引用结构体内存对齐结构体传参自学b站“鹏哥C语言”笔记。一、结构体类型的声明详见文章【初识结构体】第一部分。补充说明:匿名结构体类型:省略结......
  • 数据的存储(C语言进阶)
    数据类型介绍内置数据类型的归类整型在内存中的存储:①原码、反码、补码②大小端字节序③char的存储内容浮点型在内存中的存储自学b站“鹏哥C语言”笔记。一、数据类型介绍......
  • 指针详解(C语言进阶)
    字符指针指针数组自学b站“鹏哥C语言”笔记。本章笔记不全。回顾:在文章【初识指针】中,我们已经了解到的指针概念有指针是一种变量,用来存放地址,地址唯一标识一块内存空间。指......