Warum ich Golang Liebe

Golang ist schnell, leicht, und leicht kompilierbar auf jede häufig genutzte Architektur. Es kommt der Geschwindigkeit von C nahe. Es hat einen Garbage Collector, also gibt es keine Speicherprobleme um die man sich kümmern muss. Es hat optimierte Bibliotheken, Bibliotheken für jede populäre API online. Es hat ein statisches Typsystem, d.h wenn die Programmlogik stimmt gibt es keine Fehler mehr bei der Ausführung. Es hilft uns dabei Code zu schreiben, der gleichzeitig mit vielen anderen Code Teilen ausgeführt werden kann. Der Kompilier ist schnell. Die Abhängigkeiten sind alle sauber aufgelistet. Es hat super Tooling, Code Formatter, Kompilerfehler, etc. Jeder kann den Code direkt verstehen mit wenig Programmiererfahrung. Es hat sehr konsistente, sehr kleine und leichte Dockerfiles um Container zu bauen. Man braucht keine großen Build Tools. Man muss auch keine spezifisches Installationsschritte wie wir sie bei vielen UI Frameworks finden in der Dockerfile auflisten oder verschiedene Package Manager nutzen. Die Schritte um den Code zu bauen bleiben die gleichen, konsistent und einfach.

FROM golang:1.22 as build

WORKDIR /app

COPY go.mod go.sum ./
RUN go mod download

COPY ./src ./src

RUN CGO_ENABLED=0 GOOS=linux go build -o server ./src

FROM alpine:latest

WORKDIR /app

COPY --from=build ./app/server server
CMD ["./server"]

← Back to Homepage