GoScript
Go 코드를 TypeScript로 변환하는 트랜스파일러
About
- Go와 TS간 비즈니스 로직 공유를 목표로 개발된 AST 기반 트랜스파일러
- Go 언어의 알고리듬, 데이터 구조, 동시성 로직을 TypeScript로 변환해 백엔드와 프론트엔드 간 코드 재사용 지원
- Struct, Interface, Channel, Goroutine, Pointer, Slice, Map 등 Go의 주요 기능을 TypeScript 문법으로 매핑
- Goroutine은 async/await 기반 비동기 처리로 변환되어 브라우저 환경에서도 실행 가능
- VarRef 시스템을 통해 포인터 참조와 값 전달을 구현
- Generics, Reflection, Closure, 익명 함수 등 고급 언어 기능 지원
- encoding/json 등 표준 라이브러리를 대부분 호환하며, Reflection 및 일부 표준 라이브러리 확장은 진행 중
- CLI와 API 모두 제공
- CLI: goscript compile --package . --output ./dist 형태로 Go 패키지를 TypeScript로 컴파일
- Go API 및 Node.js API를 통해 프로그램 내 직접 변환 호출 가능