Go에서는 구조체 변수의 주소를 인쇄하는 개념을 이해하는 것이 중요합니다. 특정 쿼리와 그 해결 방법을 자세히 살펴보겠습니다.
쿼리:
Go를 처음 접하는 사용자는 구조체 변수 r의 주소를 인쇄하려고 합니다. 예상 & 연산자를 사용했음에도 불구하고 예상 주소 대신 {15 6}이 출력됩니다.
코드 조각:
type Rect struct { width int name int } func main() { r := Rect{4, 6} p := &r p.width = 15 fmt.Println("-----", &p, r, p, &r) }
분석:
기본적으로 fmt.Println()은 다음을 처리하는 %v 형식을 사용합니다. 특별히 필드를 인쇄하여 구조체를 만듭니다. 주소를 직접 인쇄하려면 특정 형식 문자열이 필요합니다.
해결책:
r의 주소를 인쇄하려면 %p 동사를 형식과 함께 사용해야 합니다. 끈. 이 동사는 특히 포인터 값의 인쇄를 나타냅니다.
fmt.Printf("%p\n", &r)
이렇게 하면 0x414020과 같은 r의 주소가 올바르게 출력됩니다.
또한 주소는 다음을 사용하여 변수에 저장할 수 있습니다. 다음 구문은 다음과 같습니다.
addr := &r
이제 addr은 r에 대한 포인터를 보유합니다.
위 내용은 Go에서 구조체의 주소를 올바르게 인쇄하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!