github.com/tc-hib/winres (go): Package winres provides functions to create a resource section for Windows executables. This is where the application's icon, manifest, and version information are stored.  Create an empty ResourceSet, call the Set method to add resources to it and then use the WriteObject method to produce an object file.  Each resource must be named, so it can later be accessed with FindResource, LoadImage, etc. To name a resource, you may use an int that you cast to winres.ID, or a string that you cast to winres.Name.  winres produces a linkable COFF object. Save it in your project's root directory with extension “syso” and it will be automatically included by “go build”.  It is recommended to name this object with target suffixes, so that the “go build” command automatically links the proper object for each target.  For example:  Embedding an icon, version information, and a manifest:  You can provide different resources depending on the user's langage.  To do so, you should provide a language code identifier (LCID) to the Set method.  A list of LCIDs is available there: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/  As an example, the LCID for en-US is 0x0409.  winres can do a few more things: extract resources from an executable, replace resources in an executable, export cursors or icons...
Keywords: golang|rsrc|windows