go - 方法打印正确的数据,但在 Go 中返回未经编辑的数据
问题描述
这是我学习 Go 的第二天,我正在努力更好地理解结构和方法,所以如果这个问题有点基础,请提前道歉。为什么这个程序在方法内部打印编辑过的数据,但是当它回到main时,打印的是传递给结构体的原始数据?
package main
import ( "fmt" )
type Person struct{
firstName string
lastName string
}
func (p Person) updateName(newName string) string{
p.firstName = newName
fmt.Println(p.firstName, p.lastName) //prints "Jane Doe"
return newName + " " + p.lastName
}
func main() {
p := Person{"John", "Doe"}
p.updateName("Jane")
fmt.Println(p) //prints "{John Doe}"
}
提前致谢!
解决方案
推荐阅读
- java - 即使 CountDownTimer 过期,处理程序仍在运行
- java - 从不在后台堆栈顶部的后台堆栈中删除特定片段
- spring-boot - 如何在kotlin和Spring Data JPA中按不在另一类@OneToMany单向映射中的列获取数据
- python - 初始化后无法访问另一个类中的实例
- android - 无法为 android 应用程序创建哈希键:我收到错误“keystore JKS 使用专有格式”
- python-3.x - 从 Google Cloud Function (Python) 将新文件写入 Google Cloud Storage 存储桶
- python - 从数据集中获取 IP 冲突列表的优化
- android - 如何初始化 Firebase 库?
- angular - 具有有限选项的角度路线作为参数
- tensorflow - Tensorflow,tf.multinomial,获取关联概率失败