Maison >développement back-end >Golang >Comment puis-je remplir efficacement un tableau Go avec les fuseaux horaires disponibles pour le formatage ?

Comment puis-je remplir efficacement un tableau Go avec les fuseaux horaires disponibles pour le formatage ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-30 21:02:18906parcourir

How Can I Efficiently Populate a Go Array with Available Time Zones for Formatting?

Explorer les fuseaux horaires dans Go : remplir un tableau pour le formatage de l'heure

Considérant la nécessité de remplir un tableau avec des fuseaux horaires acceptés pour le formatage de l'heure dans Go, explorons une approche ingénieuse :

Pour obtenir une liste de fuseaux horaires, lancez la procédure suivante étapes :

import (
    "fmt"
    "os"
    "strings"
)

Déclarer les chemins de répertoire pour divers systèmes d'exploitation :

var zoneDirs = []string{
    "/usr/share/zoneinfo/",
    "/usr/share/lib/zoneinfo/",
    "/usr/lib/locale/TZ/",
}

Fonction pour lire les répertoires de manière récursive et imprimer les fuseaux horaires valides :

func ReadFile(path string) {
    files, _ := os.ReadDir(zoneDir + path)
    for _, f := range files {
        if f.Name() != strings.ToUpper(f.Name()[:1]) + f.Name()[1:] {
            continue
        }
        if f.IsDir() {
            ReadFile(path + "/" + f.Name())
        } else {
            fmt.Println((path + "/" + f.Name())[1:])
        }
    }
}

Exécuter le programme pour récupérer une liste complète des fuseaux horaires :

func main() {
    for _, zoneDir = range zoneDirs {
        ReadFile("")
    }
}

Cette technique robuste fournit une liste complète des fuseaux horaires qui peuvent être intégré sans effort dans les modèles HTML, permettant aux utilisateurs de sélectionner et d'afficher l'heure dans leur zone préférée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn