go语言结构体及方法的一些细节笔记

Posted 读史

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言结构体及方法的一些细节笔记相关的知识,希望对你有一定的参考价值。

声明一个结构体和结构体方法。
方法的接收者为值或者指针,都可以用值或者指针来调用。
所以下面这几种都是对的。


package main

import "fmt"

type User struct {
	Name string
	Age int
}

func (u *User) Say() {
	fmt.Println(u.Name,u.Age)
}

func main() {
	u:=User{
		Name: "tom",
		Age: 11,
	}
	u.Say()
}


package main

import "fmt"

type User struct {
	Name string
	Age int
}

func (u User) Say() {
	fmt.Println(u.Name,u.Age)
}

func main() {
	u:=&User{
		Name: "tom",
		Age: 11,
	}
	u.Say()
}

以上是关于go语言结构体及方法的一些细节笔记的主要内容,如果未能解决你的问题,请参考以下文章

Go | 结构体及内存对齐

Go语言核心36讲(Go语言进阶技术七)--学习笔记

go语言学习笔记 — 进阶 — 接口:接口声明

go语言学习笔记 — 基础 — 复合数据类型 — 结构体:结构体方法(行为)

GO学习笔记 - 函数名前面是否有输入参数肯定是不一样的!!

结构体--Go语言学习笔记