# Go

Source : https://webgune.cloud/eu-eu/docs/web-go · Mis à jour le 2026-10-27

# Go

Un fichier `go.mod` à la racine suffit à déclencher la compilation automatique du binaire.

## net/http

```go
package main

import (
    "fmt"
    "net/http"
    "os"
)

func main() {
    port := os.Getenv("PORT")
    if port == "" {
        port = "8080"
    }
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprint(w, "Hello Webgune")
    })
    http.ListenAndServe(":"+port, nil)
}
```

## Gin

```go
package main

import (
    "os"
    "github.com/gin-gonic/gin"
)

func main() {
    r := gin.Default()
    r.GET("/health", func(c *gin.Context) {
        c.JSON(200, gin.H{"ok": true})
    })

    port := os.Getenv("PORT")
    if port == "" {
        port = "8080"
    }
    r.Run("0.0.0.0:" + port)
}
```

## Modules privés

Si votre projet dépend d'un module Go privé, configurez `GOPRIVATE` et un token d'accès via les variables d'environnement du service, ou basculez vers un déploiement par [Dockerfile](/docs/docker-dockerfile) pour un contrôle complet sur l'étape de build.
