* : 1. 在参数中声明此变量需要传递指针变量(&) 2. 获取指针变量对应的值
& : 1. 传递变量对应的内存地址 2. 可以通过内存地址直接调用方法
package main
import "fmt"
type React struct {
width float32
height float32
}
// 用*号声明需要传递指针的类型的参数
func (r *React) size(k * float32) float32 {
fmt.Println(*k, k)
// 用*号获取指针参数对应的真实值并且修改
*k = *k + 1
return r.width * r.height * *k
}
// go语言的*和&符号的区别
// * : 1. 在参数中声明此变量需要传递指针变量(&) 2. 获取指针变量对应的值
// & : 1. 传递变量对应的内存地址 2. 可以通过内存地址直接调用方法
func main() {
r := React{width: 5, height: 8}
var k float32 = 5
// 用&符号传递变量k的内存地址
fmt.Println(r.size(&k), k)
}