TinyGo brings the Go programming language to embedded systems and to the modern web by creating a new compiler based on LLVM. You can compile and run TinyGo programs on over 60 different microcontroller boards such as the BBC micro:bit and the Arduino Uno. TinyGo can also produce WebAssembly (WASM) code which is very compact in size. You can compile programs for web browsers, as well as for server and edge computing environments that support the WebAssembly System Interface (WASI) family of interfaces. TinyGo is a Go compiler intended for use in small places such as microcontrollers, WebAssembly (Wasm), and command-line tools. It reuses libraries used by the Go language tools alongside LLVM to provide an alternative way to compile programs written in the Go programming language. While TinyGo embeds the Clang compiler to parse import "C" blocks, many features of Cgo are still unsupported.

Features

  • The subset of Go that directly translates to C is well supported
  • Slices are well supported
  • Interfaces are quite stable and should work well in almost all cases
  • Type switches and type asserts are also supported
  • Closures and bound methods are supported, for example inline anonymous (lambda-like) functions
  • The defer keyword is almost entirely supported, with the exception of deferring some builtin functions

Project Samples

Project Activity

See All Activity >

Categories

Terminals, Compilers

License

BSD License

Follow TinyGo

TinyGo Web Site

Other Useful Business Software
Our Free Plans just got better! | Auth0 Icon
Our Free Plans just got better! | Auth0

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
Try free now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of TinyGo!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Go

Related Categories

Go Terminals, Go Compilers

Registered

2022-03-23