tinygo | Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Bas | Binary Executable Format library

 by   tinygo-org Go Version: v0.28.1 License: Non-SPDX

kandi X-RAY | tinygo Summary

kandi X-RAY | tinygo Summary

tinygo is a Go library typically used in Programming Style, Binary Executable Format applications. tinygo has no bugs, it has no vulnerabilities and it has medium support. However tinygo has a Non-SPDX License. You can download it from GitHub.

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.

            kandi-support Support

              tinygo has a medium active ecosystem.
              It has 12933 star(s) with 748 fork(s). There are 168 watchers for this library.
              There were 2 major release(s) in the last 12 months.
              There are 356 open issues and 926 have been closed. On average issues are closed in 487 days. There are 115 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of tinygo is v0.28.1

            kandi-Quality Quality

              tinygo has 0 bugs and 0 code smells.

            kandi-Security Security

              tinygo has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              tinygo code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              tinygo has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              tinygo releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of tinygo
            Get all kandi verified functions for this library.

            tinygo Key Features

            No Key Features are available at this moment for tinygo.

            tinygo Examples and Code Snippets

            No Code Snippets are available at this moment for tinygo.

            Community Discussions


            Calling a function from JavaScript
            Asked 2021-Nov-10 at 18:00

            Trying to understand wasm in go, so I wrote the below that:

            1. Manipulate DOM
            2. Call JS function
            3. Define a function that can called by JS

            first 2 steps are fine, but the last one is not working as expected, as I got the JavaScript error function undefined, my code is below, the issue I have is in the function sub



            Answered 2021-Nov-10 at 18:00

            I found the solution, that I need something to detect and confirm that wasm had been loaded and ready for processing, same the one used in JS to check if the document is ready:

            Source https://stackoverflow.com/questions/69915566


            How to map two value ranges in tinygo
            Asked 2021-Nov-05 at 21:28

            I'm using Golang to program a arduino uno with tinygo. I am trying to map two value ranges.
            One is an encoder with a range between 0-1000 and the other is tinygo's ADC range between 0-65535. I am reading the ADC range and need to covert it to the range of 0-1000 (encoder).

            I have tried several things but the basic issue that I'm running into is data types. The below formula for example equals 0:



            Answered 2021-Nov-05 at 21:28

            1000/65535 is an integer division and will result in 0. It doesn't matter if you convert the result to float64, then it'll be 0.0.

            Use floating point constant(s):

            Source https://stackoverflow.com/questions/69859246


            Is it possible to make a Go binary smaller by compiling it with TinyGo?
            Asked 2021-Sep-07 at 19:25

            The TinyGo Homepage says that it is designed for micro controllers (or MCU). I wonder if it is possible to use TinyGo to compile go into small binary for ARM/Linux system?

            Currently with UPX --best --lzma, my go code compiles to arm binary about 1MB, I hope to make it even smaller, because the system has limited storage.



            Answered 2021-Sep-07 at 19:25

            tl;dr: basically yes, but you might have to port your program.

            I wonder if it is possible to use TinyGo to compile go into small binary for ARM/Linux system?

            Yes (reference: https://tinygo.org/docs/guides/linux/)

            TinyGo also lets you compile programs for Linux systems, both 32-bit and 64-bit, on both x86 and ARM architectures.

            For cross compiling, you can use GOOS and GOARCH as usual.

            For example:

            Source https://stackoverflow.com/questions/69085092


            How to decode a JWT token with TinyGo
            Asked 2021-Jun-28 at 14:03

            We have a JWT token that we need to decode, the issue is that we are using TinyGo and some libraries are not supported, How can it be done for TinyGo / core Go libraries which is already supported? I want to print the "name" value:

            I'm not able to get the name, any idea?



            Answered 2021-Jun-28 at 10:14

            Decoding and getting the name part is easy. But this does not ensure the token is valid, meaning the owner of the token is truly what the name says!

            JWT tokens just contain the base64 encoded forms of a header, payload and signature parts, connected with a .. So just split the token by ., decode the base64 string and you may use json.Unmarshal() to convert the header and playload parts to maps or structs.

            You must verify the signature to ensure the name is valid. If you don't perform signature verification, a token may easily be forged to pose as anyone. Signature verification is exactly what JWT libs do (besides parsing and generating tokens). How to do that, check the sources of JWT libs. I also believe there are open-source libs that process JWT tokens that also work with tiny-go.

            Example code to decode the parts and print the name:

            Source https://stackoverflow.com/questions/68161012

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install tinygo

            See the getting started instructions for information on how to install TinyGo, as well as how to run the TinyGo compiler using our Docker container.


            You can compile TinyGo programs for microcontrollers, WebAssembly and Linux.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone tinygo-org/tinygo

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular Binary Executable Format Libraries


            by wasmerio


            by aurelia


            by tinygo-org


            by pyodide


            by bytecodealliance

            Try Top Libraries by tinygo-org


            by tinygo-orgC


            by tinygo-orgGo


            by tinygo-orgGo


            by tinygo-orgHTML


            by tinygo-orgGo