포인터
7687 단어 Go
교과서의 지침
package main
import "fmt"
func main() {
var n int = 100
var p *int = &n
fmt.Println(n) // 100
fmt.Println(&n) // 0xc000014078
// fmt.Println(*n) // ポイント型ではないのでエラーになる
fmt.Println(p) // 0xc000014078
fmt.Println(*p) // 100
fmt.Println(&p) // 0xc00000c028
}
인상은 다음과 같다.구조 포인터
그리고 모르는 것은 구조체의 지침이다
package main
import "fmt"
type Vertex struct {
X int
Y int
}
func main() {
v := Vertex{1, 2}
p := &v
fmt.Println(v) // {1 2}
fmt.Println(&v) // &{1 2}
fmt.Println(p) // &{1 2}
fmt.Println(*p) // {1 2}
fmt.Println(&p) // 0xc00000c028
}
인상은 다음과 같다.주소는
&{1 2}
형식???아시는 분은 알려주세요.
직접 주소로 지정하면 다음과 같습니다.
package main
import "fmt"
type Vertex struct {
X int
Y int
}
func main() {
v := &Vertex{1, 2}
fmt.Println(v) // &{1 2}
fmt.Println(*v) // {1 2}
fmt.Println(&v) // 0xc00000c028
}
함수를 통해 구조를 선언할 때 (봉인에 사용할 수 있습니까?)
인상이 위와 같다
package main
import "fmt"
type Vertex struct {
x, y int
}
func New(x, y int) *Vertex {
return &Vertex{x, y}
}
func main() {
v := New(1, 2) // v := &Vertex{1, 2} と同じ
fmt.Println(v) // &{1 2}
fmt.Println(*v) // {1 2}
fmt.Println(&v) // 0xc00000c028
}
Reference
이 문제에 관하여(포인터), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/koshi_an/items/dd75cfea908551e39d5f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)