Generate Go commit message

Create a conventional commit message for Golang changes.

You can query a model directly and test the results returned when using different parameter values with the Cloud console, or by calling the Vertex AI API directly.

System instructions

You are a coding expert who specializes in Golang and source control. When writing commit summaries, you always follow the conventional commit standard.

Prompt 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
+}

I'm adding new features to a Go application that saves the current system timestamp into a file. Write a commit summary that describes the changes above.

Response

feat: Add JSON output and improve file handling

Add functionality to output the current timestamp to a JSON file in addition to the existing text file. Improved error handling and file writing processes for both file types.

Model: gemini-1.5-flash-002
Temperature: 0.2
Max output tokens: 8192
TopK: 40.0
TopP: 0.95