Go语言中的时间戳结构体:Timestamps

在Go语言中,经常需要在数据库中存储时间信息,例如更新时间、创建时间和删除时间。为了方便管理这些时间戳,我们可以创建一个名为Timestamps的结构体。

package main

import "time"

// Timestamps 结构体,包含更新时间、创建时间和删除时间
type Timestamps struct {
	UpdatedAt *time.Time
	CreatedAt time.Time
	DeletedAt *time.Time
}

结构体字段说明:

  • UpdatedAt:更新时间,使用指针类型 *time.Time,因为更新时间可能不存在。
  • CreatedAt:创建时间,使用值类型 time.Time,因为创建时间必须存在。
  • DeletedAt:删除时间,使用指针类型 *time.Time,因为删除时间可能不存在。

使用示例:

package main

import "fmt"
import "time"

func main() { 
	// 创建一个新的 Timestamps 结构体
	timestamps := Timestamps{
		CreatedAt: time.Now(),
	}

	// 更新时间
	timestamps.UpdatedAt = &time.Now()

	// 打印时间戳信息
	fmt.Printf("CreatedAt: %v
", timestamps.CreatedAt)
	fmt.Printf("UpdatedAt: %v
", *timestamps.UpdatedAt)
	fmt.Printf("DeletedAt: %v
", timestamps.DeletedAt)
}

输出:

CreatedAt: 2023-10-27 10:35:00.123456789 +0800 CST
UpdatedAt: 2023-10-27 10:35:00.123456789 +0800 CST
DeletedAt: <nil>

通过使用 Timestamps 结构体,我们可以方便地管理时间戳信息,并将其存储在数据库中。

Go语言中的时间戳结构体:Timestamps

原文地址: https://www.cveoy.top/t/topic/bcrW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录