"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 체인이 GO의 vector3 struct를 호출 할 때 오류를 피하는 방법은 무엇입니까?

체인이 GO의 vector3 struct를 호출 할 때 오류를 피하는 방법은 무엇입니까?

2025-03-22에 게시되었습니다
검색:461

How to Avoid Errors When Chaining Method Calls on Go's Vector3 Struct?

포인터 및 가치 수신기 이해

메서드는 포인터 또는 값 수신기를 가질 수 있습니다. 포인터 수신기는 메소드가 원래 구조물을 수정할 수있는 반면, 값 수신기는 메소드 내에서 구조물의 사본을 생성 할 수 있습니다. dir : = proderted.minus (c.origin) .normalize ()를 호출 할 때 값인 projected.minus (c.origin)의 반환 값의 주소를 취하려고합니다. 이것은 오류가 허용되지 않습니다.

메소드 수신기 수정 :

vector3 메소드를 값 수신기를 갖도록 변경하여 주소를 제거 할 필요가 없습니다. 그러나 메소드가 구조물을 수정 해야하는 경우에 가능하지 않을 수 있습니다. 이렇게하면 반환 된 포인터가 포인터 기반 방법에 대한 수신기 역할을 할 수 있기 때문에 주소를 제거 할 필요가 없다.

헬퍼 함수를 ​​만듭니다. 수신기의 일관성 및 구조물 내의 결과 유형. Vector3의 대부분의 메소드에 포인터 수신기가있는 경우 모든 수신기를 포인터로 유지하십시오. 마찬가지로, 반품 유형에서 일관성을 유지합니다.

성능 고려

  • 포인터와 값 수신기 간의 성능 차이는 무시할 수 있습니다. 그러나 일관성을 위해 노력하고 구조물 내에서 수신기 유형을 혼합하지 마십시오.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3