npm install permission error · Issue #1 · 9992/PoomKey
<aside> ⁉️ Go 언어에서 Struct는 Class 를 의미
</aside>
package main
import "fmt"
type Table struct {
a int
b int
}
func (t Table) ValueReturn() {
t.a = 10
t.b = 20
}
func (t *Table) PointerReturn() {
t.a = 10
t.b = 20
}
func main() {
t := &Table{0, 0}
fmt.Println(t) // 0, 0
t.ValueReturn()
fmt.Println(t) // 0, 0
t.PointerReturn()
fmt.Println(t) // 10, 20
}
ValueReturn은 Value 리시버 PointerReturn은 Pointer 리시버이다. 포인터 리시버의 경우 구조체의 필드 값을 변경할 수 있지만, Value 리시버는 필드의 값을 변경할 수 없다.