草庐IT

持续化

全部标签

string - 字符串 2h 而不是 2h0m0s 的持续时间

默认的time.DurationString方法通过为分钟添加0s和为小时添加0m0s来格式化持续时间。是否有我可以使用的函数将生成5m而不是5m0s和2h而不是2h0m0s...或者我必须自己实现? 最佳答案 前言:我在github.com/icza/gox中发布了这个实用程序,请参阅timex.ShortDuration().标准库中没有,但是创建一个真的很容易:funcshortDur(dtime.Duration)string{s:=d.String()ifstrings.HasSuffix(s,"m0s"){s=s[:le

string - 字符串 2h 而不是 2h0m0s 的持续时间

默认的time.DurationString方法通过为分钟添加0s和为小时添加0m0s来格式化持续时间。是否有我可以使用的函数将生成5m而不是5m0s和2h而不是2h0m0s...或者我必须自己实现? 最佳答案 前言:我在github.com/icza/gox中发布了这个实用程序,请参阅timex.ShortDuration().标准库中没有,但是创建一个真的很容易:funcshortDur(dtime.Duration)string{s:=d.String()ifstrings.HasSuffix(s,"m0s"){s=s[:le

go - 持续检查 tcp 端口是否被使用

我正在运行bash命令以在后台启动服务器:“./starServer&”但是,我的服务器需要几秒钟才能启动。我想知道我可以做些什么来持续检查它正在运行的端口,以确保它在我真正继续做其他事情之前已经启动。我在golangapi中找不到任何对此有帮助的东西。感谢您的帮助!c:=exec.Command("/bin/sh","-c",command)err:=c.Start()iferr!=nil{log.Fatalf("error:%v",err)}l,err1:=net.Listen("tcp",":"+port) 最佳答案 您可以使

go - 持续检查 tcp 端口是否被使用

我正在运行bash命令以在后台启动服务器:“./starServer&”但是,我的服务器需要几秒钟才能启动。我想知道我可以做些什么来持续检查它正在运行的端口,以确保它在我真正继续做其他事情之前已经启动。我在golangapi中找不到任何对此有帮助的东西。感谢您的帮助!c:=exec.Command("/bin/sh","-c",command)err:=c.Start()iferr!=nil{log.Fatalf("error:%v",err)}l,err1:=net.Listen("tcp",":"+port) 最佳答案 您可以使

go - 持续时间乘以持续时间是什么意思?

令我惊讶的是,这个编译fmt.Println(time.Second*time.Second)结果是废话277777h46m40s将持续时间乘以持续时间并得到另一个持续时间没有任何意义。这是怎么回事? 最佳答案 Durationtype只是一个int64表示持续时间为纳秒计数typeDurationint64ADurationrepresentstheelapsedtimebetweentwoinstantsasanint64nanosecondcount.因此,将一个持续时间乘以另一个持续时间会得到每个纳秒数相乘的结果。在我的示例

go - 持续时间乘以持续时间是什么意思?

令我惊讶的是,这个编译fmt.Println(time.Second*time.Second)结果是废话277777h46m40s将持续时间乘以持续时间并得到另一个持续时间没有任何意义。这是怎么回事? 最佳答案 Durationtype只是一个int64表示持续时间为纳秒计数typeDurationint64ADurationrepresentstheelapsedtimebetweentwoinstantsasanint64nanosecondcount.因此,将一个持续时间乘以另一个持续时间会得到每个纳秒数相乘的结果。在我的示例

go - 为什么 time.Since 在 Windows 上返回负持续时间?

我一直在尝试使用go,并在windows上发现了一些奇怪的行为。如果我通过解析特定格式的时间字符串构造时间对象,然后使用time.Since()等函数,我会得到负持续时间。代码示例:packagemainimport("fmt""time""strconv")funcconvertToTimeObject(dateStrstring)time.Time{layout:="2006-01-02T15:04:05.000Z"t,_:=time.Parse(layout,dateStr)returnt}funcmain(){timeOlder:=convertToTimeObject(tim

go - 为什么 time.Since 在 Windows 上返回负持续时间?

我一直在尝试使用go,并在windows上发现了一些奇怪的行为。如果我通过解析特定格式的时间字符串构造时间对象,然后使用time.Since()等函数,我会得到负持续时间。代码示例:packagemainimport("fmt""time""strconv")funcconvertToTimeObject(dateStrstring)time.Time{layout:="2006-01-02T15:04:05.000Z"t,_:=time.Parse(layout,dateStr)returnt}funcmain(){timeOlder:=convertToTimeObject(tim

go - 为什么需要将变量转换为持续时间而不是原始整数?

这个问题在这里已经有了答案:SleepingbyFractionsofaTimeDuration(1个回答)关闭4年前。如果我想睡2秒,我可以执行以下操作:time.Sleep(2*time.Second)但是当我这样做的时候:test:=2time.Sleep(test*time.Second)它抛出错误invalidoperation:test*time.Second(mismatchedtypesintandtime.Duration)我可以像这样通过转换test来解决这个问题:time.Sleep(time.Duration(rand.Intn(5))*time.Second)

go - 为什么需要将变量转换为持续时间而不是原始整数?

这个问题在这里已经有了答案:SleepingbyFractionsofaTimeDuration(1个回答)关闭4年前。如果我想睡2秒,我可以执行以下操作:time.Sleep(2*time.Second)但是当我这样做的时候:test:=2time.Sleep(test*time.Second)它抛出错误invalidoperation:test*time.Second(mismatchedtypesintandtime.Duration)我可以像这样通过转换test来解决这个问题:time.Sleep(time.Duration(rand.Intn(5))*time.Second)