Avancerad Golang - Virtuella filsystem

Blog Post by Stefan Holmberg

Med Golang finns möjligheten att kompilera in virtuella filsystem in i programmet och på så sätt ha EN endaste fil (exe, binär) att deploya.

Det vanligaste användningsområdet är inom webb, tänk dig att dina CSS-filer, Javascript, bilder osv osv följer med och du slipper hantera subfolders, filer osv

Självklart är det inte alltid man varken vill eller behöver göra detta, och i videon nedan pratar jag om just detta - man kan ju använda Container begreppet (Docker, Kubernetes) som sin autonoma enhet.

I videon nedan så förklaras olika usecase lite mer i detalj, men här kommer en snabbversion och möjlighet att kopiera lite kod :)

Förutsatt att du har dina filer i en folder i VS Code så här

static files golang
så kan du nu inbädda alla filer in i din exekverbara binärfil på detta sätt

Dvs vid kompilering kommer go ta alla filer och subfolders i wwwroot och stoppa in i listan (slicen) embeddedwwwRoot

Efter detta mappar du routes genom


Använd denna hjälpfunktion för att ta fram ett "sub"-filsystem (subfolder) genom

Missa inte våra kurser i Utveckla webbsajter med Golang - då kommer du få lära dig mer av såna här saker

Rekommenderade kurser inom detta ämne

.

Webutveckling med Golang
© Copyright Systementor AB. All Rights Reserved
Version: 1.0.20240904.1-74e3242