golang获取当前时间,前n天时间,以及时间格式的转化

获取当前时间

currentTime := time.Now()
//currentTime 的结果为go的时间time类型,2018-09-27 13:24:58.287714118 +0000 UTC

获取前n天的时间

//获取两天前的时间
currentTime := time.Now()
oldTime := currentTime.AddDate(0, 0, -2)		//若要获取3天前的时间,则应将-2改为-3
//oldTime 的结果为go的时间time类型,2018-09-25 13:24:58.287714118 +0000 UTC

时间格式的转换

未完待续...
### Golang 中切片的用法和特性 #### 切片的基础概念 在Go语言中,切片(slice)是在数组基础上构建的一种抽象数据类型。切片提供了更灵活的数据结构操作方式,允许动态调整长度并支持高效的内存管理[^1]。 #### 创建与初始化切片 可以通过多种方法创建切片: - 使用 `make` 函数来分配一个新的底层数组,并返回指向该数组起始位置的一个指针作为切片: ```go s := make([]int, length, capacity) ``` - 或者通过字面量定义一个固定大小的数组再将其转换成切片: ```go a := [...]string{"apple", "banana", "cherry"} fruits := a[:] // 将整个数组a转化为切片fruits ``` 也可以直接声明一个未指定长度的字符串切片用于存储文件中的数字字符序列[^2]: ```go digits := []byte{} ``` #### 访问元素及遍历 访问单个元素的方式与其他编程语言相似,即采用索引形式 `s[index]` 来获取特定位置上的值;而要迭代处理所有成员,则可以利用for循环配合内置函数len()实现: ```go for i := 0; i < len(s); i++ { fmt.Printf("%d ", s[i]) } // 或者使用range简化语法糖 for idx, val := range s { fmt.Printf("index=%d value=%v\n", idx, val) } ``` #### 修改切片内容 由于切片内部维护着对底层连续内存区域的引用关系,在修改某个具体项时实际上就是改变相应地址处的内容。因此任何针对原生类型的赋值都会影响到实际存在的那份共享资源。 需要注意的是当超出当前容量(capacity)范围追加新项目(`append`)会触发重新分配更大的空间给新的底层数组副本从而不影响旧版本的状态[^3]. #### 高效性能表现 得益于其独特的设计思路——既保留了随机存取的优势又兼顾到了可变尺寸的需求,使得Go下的切片成为了一种非常高效实用的选择方案之一。特别是在面对大量同质化对象的操作场景下更是如此。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值