>  기사  >  백엔드 개발  >  Go: 맵과 슬라이스에서 인터페이스를 사용하는 방법

Go: 맵과 슬라이스에서 인터페이스를 사용하는 방법

PHPz
PHPz앞으로
2024-02-10 20:57:081227검색

Go: 맵과 슬라이스에서 인터페이스를 사용하는 방법

PHP 편집기 Apple에서 맵과 슬라이싱에서 인터페이스를 사용하는 방법을 소개합니다. 최신 웹 개발에서 맵과 슬라이싱은 일반적인 기능 요구 사항입니다. 인터페이스를 사용하면 지도 및 타일 작업이 더욱 유연하고 확장 가능해집니다. 이번 글에서는 인터페이스의 개념과 인터페이스를 사용하여 지도와 타일에 다양한 기능을 구현하는 방법을 자세히 설명하겠습니다. 이 문서를 읽으면 지도와 타일 사용을 최적화하여 사용자 경험과 성능을 향상시키는 방법을 배우게 됩니다. 이 흥미로운 주제를 함께 살펴보겠습니다!

질문 내용

이 구조가 수행할 수 있는 "추가" 작업에 신경 쓰지 않고 두 인터페이스의 구체적인 구현을 사용할 수 있는 함수를 실행할 수 있기 때문에 인터페이스 맵이 필요합니다.

https://jordanorelli.com/post/32665860244/how-to-use-interfaces-in-go를 읽었는데 포인터와 인터페이스에 대한 좋은 설명이 있지만 실제로 어떻게 해야 할지 아직 모르겠습니다. 것들.

다음 코드를 시도 중입니다.

https://play.golang.com/p/nrh2iyk7t9f

으아아아

출력:

으아아아

내가 정말로 원하는 것은 요소 1이 키 "1"에 있는 것입니다.

따옴표를 사용해서 문제가 발생한 것 같아요foo[c.name] = &c 进行的分配。我需要这个,因为否则我会收到错误“cannot use c (concrete 类型的变量) 作为赋值中的 iexample 值:concrete 未实现 iexample(方法 getname 有指针接收器)"

https://dusted.codes/using-go-generics-to-pass-struct-slices-for-interface-slices를 읽은 후 제네릭을 사용하여 문제를 해결할 수 있는지 알고 싶지만 알 수 없습니다. 어떻게 해야 할까요?

으아아아

이 지도에 올바른 요소가 포함되도록 하려면 어떻게 해야 하나요?

Solution

당신이 한 일이 맞습니다. 지도에 잘못된 것을 넣었네요:

으아아아

루프 변수는 반복할 때마다 덮어쓰여지므로 &c 添加到映射和切片时,您添加的指针就是 c 주소를 설정하면 반복할 때마다 해당 주소가 덮어쓰여집니다.

위 내용은 Go: 맵과 슬라이스에서 인터페이스를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제