>  기사  >  백엔드 개발  >  TypeScript 인터페이스를 Go 구조체로 변환하는 방법은 무엇입니까?

TypeScript 인터페이스를 Go 구조체로 변환하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2024-02-09 10:36:271135검색

如何将 TypeScript 接口转换为 Go 结构体?

php 편집기 Xinyi가 TypeScript 인터페이스를 Go 구조로 변환하는 방법을 소개합니다. 프런트 엔드에서 TypeScript를 사용하여 개발할 때 데이터 구조를 설명하기 위해 인터페이스를 정의하는 경우가 많습니다. Go 언어를 사용하여 백엔드에서 개발할 때 이러한 인터페이스를 해당 구조로 변환해야 합니다. 이 글에서는 기본 유형, 중첩 유형, 선택적 유형 등을 변환하는 방법을 자세히 설명합니다. 이 글의 지침을 통해 TypeScript 인터페이스를 Go 구조로 쉽게 변환하고 개발 효율성을 향상시킬 수 있습니다.

질문 내용

타입스크립트로 만든 객체 모델링 도구를 변환하려고 합니다.

내가 TypeScript에 가지고 있는 내용은 다음과 같습니다.

으아악

이렇게 할 수 있어요:

으아악

바둑에 대한 나의 지식은 여기까지입니다:

으아악

주로 스키마 유형 인터페이스의 동적 "키" 때문에 약간 꼼짝 못하는데, 이동 중에 이를 복제하는 방법을 모르겠습니다...

해결 방법

[key string]: 部分意味着它是一个键类型为 string 的字典。在 go 中,这将是 map[string]<some 类型 >.

으아악

또는 삭제 schematype 类型并更改 schema:

으아악

이제 다른 필드와 관련하여 정의하면 이상해 보이고 여기에 표시된 방식으로 작동하지 않을 가능성이 높습니다.

default 将是一个值,而不是 func() (不返回任何内容的函数)。您不知道该值是什么类型,因此该类型应该是 interface {}any (自 go 1.18 起 - interface {}의 별칭).

transform - 这可能是一个接受值、转换它并返回值的函数 - func(interface{}) 接口{}

이 맥락에서 minlengthmaxlengthvalidate가 무엇을 의미하는지 잘 모르겠습니다. 왜 자바스크립트에서 배열인지, 길이가 정확히 2인지 확인하는 방법을 모르겠습니다.

위 내용은 TypeScript 인터페이스를 Go 구조체로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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