feat(Go-Tool):修改单测位置,添加lomuto查找第k小元素算法代码及其单测(分治法)

This commit is contained in:
huangzj
2020-08-18 17:29:42 +08:00
parent 3f0e3b27f7
commit fa58e1a97f
27 changed files with 322 additions and 251 deletions
-27
View File
@@ -1,27 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/7/13 11:33
* @Description
*/
package test
import (
"Go-Tool/util"
"fmt"
"testing"
)
//不同方式获取哈希值,结果相差挺大,从输出的结果可以非常直观的看出
func TestHashMode(t *testing.T) {
fmt.Println(util.UseBigIntMod("3213444658987654", 9999999))
//因为big.Int只能接受大数,所以如果这边传入字符串没办法转换成功,会发生报错
//fmt.Println(util.UseBigIntMod("asdsadasdasdas", 20))
fmt.Println(util.Mod("3213444658987654", 9999999))
fmt.Println(util.Crc32Mode("3213444658987654", 9999999))
fmt.Println()
fmt.Println(util.Mod("asdsadasdasdas", 9999999))
fmt.Println(util.Crc32Mode("asdsadasdasdas", 9999999))
}
@@ -1,51 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/7/31 15:35
* @Description:背包最优问题工具类
* 基本场景:给定n个重量为w1w 1w2w 2 ,w3w 3 ,…,wnw n ,价值为v1v 1 ,v2v 2 ,v3v 3 ,…,vnv n 的物品和容量为CC的背包,求这个物品中一个最有价值的子集,使得在满足背包的容量的前提下,包内的总价值最大
* 参考地址:https://blog.csdn.net/chanmufeng/article/details/82955730
*/
package KnapsackOptimizationTest
import (
"Go-Tool/util/KnapsackOptimization"
"fmt"
"testing"
)
func TestKnapsackOptimizationUtil(t *testing.T) {
bagItem := make([]*KnapsackOptimization.BagItem, 0)
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 3,
Weight: 2,
})
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 3,
Weight: 3,
})
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 4,
Weight: 4,
})
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 5,
Weight: 5,
})
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 6,
Weight: 2,
})
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 7,
Weight: 2,
})
cmd := KnapsackOptimization.NewKnapsackOptimization(bagItem, 12)
cmd1 := KnapsackOptimization.NewKnapsackOptimization(bagItem, 12)
cmd2 := KnapsackOptimization.NewKnapsackOptimization(bagItem, 12)
fmt.Print(cmd.OptimizePackageByRecursion()) //通过递归解背包问题
fmt.Println(cmd1.KnapsackCycle()) //通过逆序解背包问题.
fmt.Println(cmd2.KnapsackCycleSimple()) //通过一维数组来解决背包问题
}
@@ -1,46 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/8/5 15:40
* @Description
*/
package KnapsackOptimizationTest
import (
"Go-Tool/util/KnapsackOptimization"
"fmt"
"testing"
)
func TestKnapsackSearchAnswerUtil(t *testing.T) {
bagItem := make([]*KnapsackOptimization.BagItem, 0)
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 3,
Weight: 2,
})
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 3,
Weight: 3,
})
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 4,
Weight: 4,
})
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 5,
Weight: 5,
})
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 6,
Weight: 2,
})
bagItem = append(bagItem, &KnapsackOptimization.BagItem{
Value: 7,
Weight: 2,
})
//通过回溯解背包问题
cmd := KnapsackOptimization.NewKnapsackSearchAnswer(bagItem, 12)
cmd.DynamicPlanForBestValue()
cmd.PrintBestSearchPath()
fmt.Println(fmt.Sprintf("最佳价值为:%d", cmd.BestValue()))
}
-175
View File
@@ -1,175 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/4/30 16:06
* @Description:数组工具类测试
*/
package array
import (
"Go-Tool/util/array"
"encoding/json"
"fmt"
"testing"
)
type MM struct {
A int
B string
N NN
}
type NN struct {
A int
B float64
}
var (
mm []interface{}
mm1 []interface{}
mm2 []interface{}
nn []interface{}
nn1 []interface{}
)
func TestBool(t *testing.T) {
fmt.Print("\n\nContains\n\n")
fmt.Println(array.Contains(mm, mm))
fmt.Println(array.Contains(mm, mm1))
fmt.Println(array.Contains(mm, MM{
A: 1,
B: "2",
}))
fmt.Print("\n\nNotContains\n\n")
fmt.Println(array.NotContains(mm, mm))
fmt.Println(array.NotContains(mm, mm1))
fmt.Println(array.NotContains(mm, MM{
A: 1,
B: "2",
}))
fmt.Print("\n\nIsSameList\n\n")
fmt.Println(array.IsSameList(mm, mm))
fmt.Println(array.IsSameList(mm, nn1))
fmt.Println(array.IsSameList(mm, mm2))
fmt.Println(array.IsSameList(mm, nn))
fmt.Print("\n\nIsSubSet\n\n")
fmt.Println(array.IsSubSet(mm, mm))
fmt.Println(array.IsSubSet(mm, mm1))
fmt.Println(array.IsSubSet(mm, mm2))
fmt.Println(array.IsSubSet(mm, nn))
fmt.Printf("\n\n")
}
func TestJoin(t *testing.T) {
fmt.Print("\n\nmm-nn\n\n")
intersection(mm, nn)
fmt.Print("\n\nmm-mm\n\n")
intersection(mm, mm)
fmt.Print("\n\nmm-mm1\n\n")
intersection(mm, mm1)
fmt.Print("\n\nmm-mm2\n\n")
intersection(mm, mm2)
fmt.Print("\n\ndiff\n\n")
diffSet(mm, nn)
fmt.Print("\n\n\n\n")
diffSet(mm, mm)
fmt.Print("\n\n\n\n")
diffSet(mm, mm1)
fmt.Print("\n\n\n\n")
diffSet(mm, mm2)
fmt.Print("\n\nunion\n\n")
union(mm, nn)
fmt.Print("\n\n\n\n")
union(mm, mm)
fmt.Print("\n\n\n\n")
union(mm, mm1)
fmt.Print("\n\n\n\n")
union(mm, mm2)
}
func TestEqual(t *testing.T) {
DeepCopyIntSlice()
DeepCopyIntSlice2()
}
func intersection(mm, nn []interface{}) {
i1 := array.Intersection(mm, nn)
for _, row := range i1 {
b, err := json.Marshal(row)
fmt.Println(err)
fmt.Print(string(b))
}
}
func diffSet(mm, nn []interface{}) {
i1 := array.DiffSet(mm, nn)
for _, row := range i1 {
b, _ := json.Marshal(row)
fmt.Print(string(b))
}
}
func union(mm, nn []interface{}) {
i1 := array.Union(mm, nn)
for _, row := range i1 {
b, _ := json.Marshal(row)
fmt.Print(string(b))
}
}
func DeepCopyIntSlice() {
src := []int{1, 2, 3, 4, 5, 6}
src1 := array.DeepCopyIntSlice(src)
fmt.Println(&src == &src1)
}
func DeepCopyIntSlice2() {
src := [][]int{{1, 2, 3}, {4, 5, 6}}
src1 := array.DeepCopyIntSlice2(src)
fmt.Println(&src == &src1)
}
func init() {
mm = make([]interface{}, 0)
mm1 = make([]interface{}, 0)
nn = make([]interface{}, 0)
nn1 = make([]interface{}, 0)
mm = append(mm, MM{
A: 1,
B: "1",
})
mm = append(mm, MM{
A: 1,
B: "2",
})
mm1 = append(mm1, MM{
A: 1,
B: "2",
})
mm2 = append(mm2, MM{
A: 1,
B: "2",
})
mm2 = append(mm2, MM{
A: 1,
B: "3",
})
nn = append(nn, NN{
B: 1.2,
A: 1,
})
nn = append(nn, NN{
B: 2.9,
A: 20,
})
nn1 = append(nn1, NN{
A: 30,
B: 2.2,
})
}
-128
View File
@@ -1,128 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/7/20 10:27
* @Description
*/
package deepSearchTest
import (
"Go-Tool/util/deepSearch"
"fmt"
"testing"
)
func TestOriginDeepSearch(t *testing.T) {
srv := deepSearch.NewDeepSearch()
itemGroup := srv.GetItemMatchNum([]deepSearch.ItemValue{
{
ItemId: 1,
ItemValue: 1,
}, {
ItemId: 2,
ItemValue: 2,
}, {
ItemId: 3,
ItemValue: 3,
}, {
ItemId: 4,
ItemValue: 4,
}, {
ItemId: 5,
ItemValue: 5,
},
}, 6)
for _, r := range itemGroup {
fmt.Println()
for _, row := range r {
fmt.Println(fmt.Sprintf("{%d %d}", row.ItemId, row.ItemValue))
}
}
}
func TestDeepSearch(t *testing.T) {
srv := deepSearch.NewDeepSearch()
itemGroup := srv.GetItemMatchValue([]deepSearch.ItemValue{
{
ItemId: 1,
ItemValue: 1,
}, {
ItemId: 2,
ItemValue: 2,
}, {
ItemId: 3,
ItemValue: 3,
}, {
ItemId: 4,
ItemValue: 4,
}, {
ItemId: 5,
ItemValue: 5,
},
}, 5)
for _, r := range itemGroup {
fmt.Println()
for _, row := range r {
fmt.Println(fmt.Sprintf("{%d %d}", row.ItemId, row.ItemValue))
}
}
}
func TestDeepSearchLimitNum(t *testing.T) {
srv := deepSearch.NewDeepSearch()
itemGroup := srv.GetItemMatchValueLimitNum([]deepSearch.ItemValue{
{
ItemId: 1,
ItemValue: 1,
}, {
ItemId: 2,
ItemValue: 2,
}, {
ItemId: 3,
ItemValue: 3,
}, {
ItemId: 4,
ItemValue: 4,
}, {
ItemId: 5,
ItemValue: 5,
},
}, 5, 4)
for _, r := range itemGroup {
fmt.Println()
for _, row := range r {
fmt.Println(fmt.Sprintf("{%d %d}", row.ItemId, row.ItemValue))
}
}
}
func TestDeepSearchInSection(t *testing.T) {
srv := deepSearch.NewDeepSearch()
itemGroup := srv.GetItemMatchValueInSection([]deepSearch.ItemValue{
{
ItemId: 1,
ItemValue: 1,
}, {
ItemId: 2,
ItemValue: 2,
}, {
ItemId: 3,
ItemValue: 3,
}, {
ItemId: 4,
ItemValue: 4,
}, {
ItemId: 5,
ItemValue: 5,
},
}, 5, 6)
for _, r := range itemGroup {
fmt.Println()
for _, row := range r {
fmt.Println(fmt.Sprintf("{%d %d}", row.ItemId, row.ItemValue))
}
}
}
-79
View File
@@ -1,79 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/4/30 14:55
* @Description 文件读取工具测试
*/
package file
import (
"Go-Tool/util/file"
"encoding/json"
"fmt"
"testing"
)
func TestReadFileLineNum(t *testing.T) {
fmt.Print(file.ReadFileLineNum("F:\\Go个人代码\\src\\Go-Tool\\test\\emptyDirTest\\1\\11.txt"))
}
func TestReadFileLineNumExceptEmptyLine(t *testing.T) {
fmt.Println(file.ReadFileLineNumExceptEmptyLine("F:\\Go个人代码\\src\\Go-Tool\\test\\emptyDirTest\\1\\11.txt"))
}
func TestReadJsonFile(t *testing.T) {
content, _ := file.ReadJsonFile("F:\\Go个人代码\\src\\Go-Tool\\test\\file\\json_file_test_mode.json")
fmt.Println(content)
var testMode JsonTestMode
_ = json.Unmarshal([]byte(content), &testMode)
for _, r := range testMode.RareNumAward {
fmt.Println(r.Num)
fmt.Println()
for _, r1 := range r.Award {
fmt.Println(fmt.Sprintf("%d %d", r1[0], r1[1]))
}
}
}
//被读取Json文件的测试结构体
type JsonTestMode struct {
CandleLightingReward CandleLightingReward
Cake []Cake
RareNumAward []RareNumAward
CommonNumAward [][]int
DailyAwardPool [][]int
DailyExtraction []DailyExtraction
FinalAward [][]int
CandleNumStart int
CandleNumInterval int
DiamondNum int
ThemeId int
}
type CandleLightingReward struct {
Num int
AwardPool [][]int
}
type Cake struct {
Level int
CandleNum int
Award [][]int
}
type RareNumAward struct {
Num int
Award [][]int
}
type DailyExtraction struct {
Day int
Num int
}
-53
View File
@@ -1,53 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/4/30 14:56
* @Description 文件工具测试
*/
package file
import (
"Go-Tool/util/file"
"fmt"
"testing"
)
var (
filePaths = [5]string{"F:\\Go个人代码\\src\\Go-Tool\\test\\emptyDirTest\\1\\11.txt",
"F:\\Go个人代码\\src\\Go-Tool\\test\\emptyDirTest\\2\\1\\11.txt",
"F:\\Go个人代码\\src\\Go-Tool\\test\\emptyDirTest\\2\\2222\\4\\4\\111.txt",
"F:\\Go个人代码\\src\\Go-Tool\\test\\emptyDirTest\\2\\2222\\4\\4\\4\\4\\1211.txt",
"F:\\Go个人代码\\src\\Go-Tool\\test\\emptyDirTest\\3\\11.txt"}
)
func TestGetAllFileNameFromDir(t *testing.T) {
s := file.GetAllFileNameFromDir("F:\\Go个人代码\\src\\Go-Tool\\test\\emptyDirTest")
for _, row := range s {
fmt.Print(row)
}
}
func TestGetAllEmptyDir(t *testing.T) {
_, s := file.GetAllEmptyDir("F:\\Go个人代码\\src\\Go-Tool\\test\\emptyDirTest")
for _, row := range s {
fmt.Print(fmt.Sprint(row, "\n\n"))
}
}
func TestGetAllDir(t *testing.T) {
_, s := file.GetAllDir("F:\\Go个人代码\\src\\Go-Tool\\test\\emptyDirTest")
for _, row := range s {
fmt.Print(row)
}
}
func TestGetAllNotEmptyDir(t *testing.T) {
_, s := file.GetAllNotEmptyDir("F:\\Go个人代码\\src\\Go-Tool\\test\\emptyDirTest")
for _, row := range s {
fmt.Print(row)
}
}
-7
View File
@@ -1,7 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/4/30 14:56
* @Description 文件写入工具测试
*/
package file
-194
View File
@@ -1,194 +0,0 @@
{
"CandleLightingReward": {
"Num": 1,
"AwardPool": [
[522, 1, 20],
[520, 1, 20],
[529, 1, 20],
[215, 1, 20],
[508, 1, 20]
]
},
"Cake": [{
"Level": 1,
"CandleNum": 600000,
"Award": [
[303, 1],
[221, 1],
[522, 1],
[520, 1],
[215, 1],
[505, 1]
]
}, {
"Level": 2,
"CandleNum": 400000,
"Award": [
[529, 4],
[221, 1],
[522, 1],
[520, 1],
[215, 1],
[505, 1]
]
}, {
"Level": 3,
"CandleNum": 200000,
"Award": [
[529, 3],
[221, 1],
[522, 1],
[520, 1],
[215, 1],
[505, 1]
]
}, {
"Level": 4,
"CandleNum": 150000,
"Award": [
[529, 2],
[221, 1],
[522, 1],
[520, 1],
[215, 1],
[505, 1]
]
}, {
"Level": 5,
"CandleNum": 100000,
"Award": [
[529, 2],
[221, 1],
[522, 1],
[520, 1],
[215, 1],
[505, 1]
]
}, {
"Level": 6,
"CandleNum": 50000,
"Award": [
[529, 1],
[221, 1],
[522, 1],
[520, 1],
[215, 1],
[505, 1]
]
}],
"RareNumAward": [{
"Num": 2,
"Award": [
[303, 1],
[220, 1],
[221, 1],
[522, 2],
[520, 2]
]
}, {
"Num": 22,
"Award": [
[303, 1],
[220, 1],
[221, 1],
[522, 3],
[520, 3]
]
}, {
"Num": 222,
"Award": [
[303, 2],
[220, 1],
[221, 1],
[522, 3],
[520, 3]
]
}, {
"Num": 2222,
"Award": [
[303, 2],
[220, 2],
[221, 2],
[522, 3],
[520, 3]
]
}, {
"Num": 22222,
"Award": [
[303, 2],
[220, 2],
[221, 3],
[522, 5],
[520, 5]
]
}, {
"Num": 222222,
"Award": [
[303, 3],
[220, 2],
[221, 3],
[522, 5],
[520, 5]
]
}, {
"Num": 2222222,
"Award": [
[581, 1],
[220, 3],
[221, 3],
[522, 5],
[520, 5]
]
}],
"CommonNumAward": [
[215, 2],
[522, 1],
[520, 1]
],
"DailyAwardPool": [
[522, 1, 13],
[520, 1, 13],
[529, 1, 13],
[215, 1, 13],
[221, 1, 13],
[236, 1, 11],
[505, 1, 11],
[506, 1, 10]
],
"DailyExtraction": [{
"Day": 1,
"Num": 1
}, {
"Day": 2,
"Num": 1
}, {
"Day": 3,
"Num": 2
}, {
"Day": 4,
"Num": 2
}, {
"Day": 5,
"Num": 2
}, {
"Day": 6,
"Num": 3
}, {
"Day": 7,
"Num": 3
}],
"FinalAward": [
[565, 2],
[303, 2],
[220, 1],
[522, 1],
[520, 1],
[301, 1],
[236, 1],
[221, 1]
],
"CandleNumStart": 3,
"CandleNumInterval": 10,
"DiamondNum": 40,
"ThemeId": 6
}
-51
View File
@@ -1,51 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/6/29 17:16
* @Description
*/
package rand
import (
"Go-Tool/util/rand"
"fmt"
"strconv"
"testing"
)
func TestRandByWeight(t *testing.T) {
fmt.Printf(strconv.Itoa(rand.GetRandValueByWeight([]int{10, 20, 30, 50})))
list, list1 := rand.GetAwardByWeight([][]int{{2, 2, 10}, {3, 3, 4}})
for _, r := range list {
fmt.Println(strconv.Itoa(r))
}
for _, r := range list1 {
fmt.Println(strconv.Itoa(r))
}
fmt.Println(rand.GetByWeight([]int{10, 11, 12, 13}, []int{20, 30, 40, 50}))
list2, list3 := rand.GetAwardByWeightWithLeftAward([][]int{{2, 3, 30}, {3, 3, 40}})
for _, r := range list2 {
fmt.Println(strconv.Itoa(r))
}
for _, r := range list3 {
for _, r1 := range r {
fmt.Println(strconv.Itoa(r1))
}
}
list4 := rand.GetCountAwardsFromPool([][]int{{1, 2, 30}, {2, 2, 40}, {3, 2, 50}}, 2)
for _, r := range list4 {
for _, r1 := range r {
fmt.Println(strconv.Itoa(r1))
}
}
list5 := rand.GetAwardByPercentage([][]int{{20, 3, 99}, {90, 3, 10}, {12, 3, 22}}, 100)
for _, r := range list5 {
fmt.Println(strconv.Itoa(r))
}
}
-25
View File
@@ -1,25 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/6/29 17:15
* @Description
*/
package rand
import (
"Go-Tool/util/rand"
"fmt"
"strconv"
"testing"
)
func TestRand(t *testing.T) {
fmt.Printf(strconv.Itoa(rand.GetRandInt(100, 2000)))
for _, r := range rand.GetRandIntNoRepeat(10, 100, 200) {
fmt.Printf(strconv.Itoa(r))
}
for _, r := range rand.GetDiffNum([]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 10) {
fmt.Printf(strconv.Itoa(r))
}
}
-30
View File
@@ -1,30 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/6/15 17:17
* @Description
*/
package set
import (
set2 "Go-Tool/util/set"
"fmt"
"testing"
)
func TestSet(t *testing.T) {
set := new(set2.Set)
set.Add(1)
set.Add(2)
set.Add("123")
fmt.Println(set.Contains(3))
fmt.Println(set.Contains("456"))
fmt.Println(set.Contains("123"))
fmt.Println(set.Contains(1))
set.Remove(1)
set.Remove(3)
for _, v := range set.GetAllSet() {
fmt.Println(v)
}
}
-56
View File
@@ -1,56 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/5/7 11:27
* @Description
*/
package timed
import (
"Go-Tool/util/timed"
"fmt"
"testing"
"time"
)
func TestTimeIntervalUtil(t *testing.T) {
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetSecondsBefore(time.Now().Unix(), 10)))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetSecondsAfter(time.Now().Unix(), 10)))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetMinutesBefore(time.Now().Unix(), 10)))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetMinutesAfter(time.Now().Unix(), 10)))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetHoursBefore(time.Now().Unix(), 10)))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetHoursAfter(time.Now().Unix(), 10)))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetDaysBefore(time.Now().Unix(), 10)))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetDaysAfter(time.Now().Unix(), 10)))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetMonthsBefore(time.Now().Unix(), 10)))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetMonthsAfter(time.Now().Unix(), 10)))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetYearsBefore(time.Now().Unix(), 10)))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetYearsAfter(time.Now().Unix(), 10)))
fmt.Print("\n\n")
o1 := timed.GetIntervalBetweenTimes(time.Now().Unix(), time.Now().AddDate(3, 2, 5).Add(5*time.Hour).Add(7*time.Minute).Add(10*time.Second).Unix())
o2 := timed.GetIntervalBetweenTimes(time.Now().AddDate(3, 2, 5).Add(5*time.Hour).Add(7*time.Minute).Add(10*time.Second).Unix(), time.Now().Unix())
o3 := timed.GetIntervalBetweenTimes(time.Now().Unix(), time.Now().AddDate(3, -2, 5).Add(5*time.Hour).Add(7*time.Minute).Add(10*time.Second).Unix())
fmt.Println(o1.IntervalYear, " y ", o1.IntervalMonth, " m ", o1.IntervalDay, " d ", o1.IntervalHour, " H ", o1.IntervalMinute, " mm ", o1.IntervalSecond, " ss ")
fmt.Println(o2.IntervalYear, " y ", o2.IntervalMonth, " m ", o2.IntervalDay, " d ", o2.IntervalHour, " H ", o2.IntervalMinute, " mm ", o2.IntervalSecond, " ss ")
fmt.Println(o3.IntervalYear, " y ", o3.IntervalMonth, " m ", o3.IntervalDay, " d ", o3.IntervalHour, " H ", o3.IntervalMinute, " mm ", o3.IntervalSecond, " ss ")
o4 := timed.GetIntervalBetweenTimesDetail(time.Now().Unix(), time.Now().AddDate(3, -2, 5).Add(5*time.Hour).Add(7*time.Minute).Add(10*time.Second).Unix())
o5 := timed.GetIntervalBetweenTimesDetail(time.Now().Unix(), time.Now().Unix())
o6 := timed.GetIntervalBetweenTimesDetail(time.Now().Unix(), time.Now().AddDate(3, 2, 5).Add(5*time.Hour).Add(7*time.Minute).Add(10*time.Second).Unix())
fmt.Println(o4.Year, " y ", o4.Month, " m ", o4.Week, " w ", o4.Day, " d ", o4.Hour, " H ", o4.Minute, " mm ", o4.Second, " ss ")
fmt.Println(o5.Year, " y ", o5.Month, " m ", o5.Week, " w ", o5.Day, " d ", o5.Hour, " H ", o5.Minute, " mm ", o5.Second, " ss ")
fmt.Println(o6.Year, " y ", o6.Month, " m ", o6.Week, " w ", o6.Day, " d ", o6.Hour, " H ", o6.Minute, " mm ", o6.Second, " ss ")
}
-37
View File
@@ -1,37 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/5/7 13:35
* @Description
*/
package timed
import (
"Go-Tool/util/timed"
"fmt"
"testing"
"time"
)
func TestTimeCompareUtil(t *testing.T) {
fmt.Print("\n\n")
fmt.Println(timed.IsBefore(time.Now().Unix(), time.Now().AddDate(0, 0, 1).Unix()))
fmt.Println(timed.IsBefore(time.Now().Unix(), time.Now().AddDate(0, 0, -1).Unix()))
fmt.Print("\n\n")
fmt.Println(timed.IsAfter(time.Now().Unix(), time.Now().AddDate(0, 0, -1).Unix()))
fmt.Println(timed.IsAfter(time.Now().Unix(), time.Now().AddDate(0, 0, 1).Unix()))
fmt.Print("\n\n")
fmt.Println(timed.IsSameTime(time.Now().Unix(), time.Now().Unix()))
fmt.Println(timed.IsSameTime(time.Now().Unix(), time.Now().AddDate(0, 0, -1).Unix()))
fmt.Print("\n\n")
fmt.Println(timed.IsDiffTime(time.Now().Unix(), time.Now().Unix()))
fmt.Println(timed.IsDiffTime(time.Now().Unix(), time.Now().AddDate(0, 0, -1).Unix()))
fmt.Print("\n\n")
fmt.Println(timed.IsBetween(time.Now().Unix(), time.Now().Unix(), time.Now().Unix()))
fmt.Println(timed.IsBetween(time.Now().Unix(), time.Now().AddDate(0, 0, -1).Unix(), time.Now().AddDate(0, 0, 1).Unix()))
fmt.Println(timed.IsBetween(time.Now().Unix(), time.Now().AddDate(0, 0, 1).Unix(), time.Now().AddDate(0, 0, -1).Unix()))
}
-27
View File
@@ -1,27 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/5/7 10:04
* @Description
*/
package timed
import (
"Go-Tool/util/timed"
"fmt"
"testing"
"time"
)
func TestTimeFormatUtil(t *testing.T) {
fmt.Print("\n\n")
fmt.Print(timed.GetTimeDefaultFormatString(timed.GetNowYearUnix()))
fmt.Print("\n\n")
fmt.Print(timed.GetTimeFormatString(timed.GetNowHourUnix(), time.ANSIC))
fmt.Print("\n\n")
fmt.Print(timed.GetNowDefaultFormatString())
fmt.Print("\n\n")
fmt.Println(timed.GetMonthFormatString(timed.GetNowHourUnix()))
fmt.Print("\n\n")
fmt.Println(timed.GetSimpleTimeFormatString(time.Now().Unix()))
}
-31
View File
@@ -1,31 +0,0 @@
/*
* @Author : huangzj
* @Time : 2020/5/7 9:39
* @Description
*/
package timed
import (
"Go-Tool/util/timed"
"fmt"
"testing"
)
func TestTimeStampUtil(t *testing.T) {
fmt.Print("\n\n")
fmt.Println(timed.GetNowHourUnix())
fmt.Print("\n\n")
fmt.Println(timed.GetNowUnix())
fmt.Print("\n\n")
fmt.Println(timed.GetZeroHourUnix())
fmt.Print("\n\n")
fmt.Println(timed.GetNowYearUnix())
fmt.Print("\n\n")
fmt.Println(timed.GetNowMonthUnix())
}