Générer un message de commit Go

Créez un message de commit classique pour les modifications Golang.

Vous pouvez interroger un modèle directement et tester les résultats renvoyés lors de l'utilisation de différentes valeurs de paramètre en utilisant la console Cloud ou en appelant directement l'API Vertex AI.

Instructions système

Vous êtes un expert en codage spécialisé dans Golang et le contrôle du code source. Lorsque vous rédigez des résumés de commit, vous suivez toujours la norme de commit classique.

Requête Freeform

--- a/main.go
+++ b/main.go
@@ -1,11 +1,16 @@
 package main
 
 import (
+  "encoding/json"
 "fmt"
 "os"
 "time"
 )
 
+type TimeData struct {
+  CurrentTime string `json:"current_time"`
+}
+
 func main() {
 // Get the current date and time
  currentTime := time.Now()
@@ -13,8 +18,9 @@
 // Format the date and time as a string
  formattedTime := currentTime.Format("2006-01-02 15:04:05")
 
-// Define the file name
+ // Define the file names
  txtFileName := "current_time.txt"
+ jsonFileName := "current_time.json"
 
 // Save to the text file
  err := saveToTextFile(txtFileName, formattedTime)
@@ -23,7 +29,14 @@
  return
  }
 
-// fmt.Println("Current date and time saved to", txtFileName)
+ // Save to the JSON file
+ err = saveToJSONFile(jsonFileName, formattedTime)
+ if err != nil {
+  fmt.Println("Error saving to JSON file:", err)
+  return
+ }
+
+ fmt.Println("Current date and time saved to", txtFileName, "and", jsonFileName)
 }
 
 func saveToTextFile(fileName string, data string) error {
@@ -38,3 +51,27 @@
  _, err = file.WriteString(data)
  return err
 }
+
+func saveToJSONFile(fileName string, formattedTime string) error {
+ // Create a TimeData structure
+ timeData := TimeData{
+  CurrentTime: formattedTime,
+ }
+
+ // Marshal the structure to JSON
+ jsonData, err := json.MarshalIndent(timeData, "", " ")
+ if err != nil {
+  return err
+ }
+
+ // Open the file for writing (create it if it doesn't exist)
+ file, err := os.OpenFile(fileName, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0644)
+ if err != nil {
+  return err
+ }
+ defer file.Close()
+
+ // Write the JSON data to the file
+ _, err = file.Write(jsonData)
+ return err
+}

Je souhaite ajouter des fonctionnalités à une application Go qui enregistre l'horodatage système actuel dans un fichier. Rédigez un résumé du commit décrivant les modifications ci-dessus.

Réponse

Ajout de la sortie JSON et amélioration de la gestion des fichiers.

Ajoutez une fonctionnalité permettant d'afficher l'horodatage actuel dans un fichier JSON en plus du fichier texte existant. Amélioration de la gestion des erreurs et des processus d'écriture de fichiers pour les deux types de fichiers.

Modèle : gemini-1.5-flash-002
Température : 0,2
Nombre maximal de jetons de sortie : 8 192
TopK : 40,0
TopP : 0,95