草庐IT

compilation-time

全部标签

regex - regexp.Compile 和 regexp.CompilePOSIX 有什么区别?

谁能提供一些例子来解释regexp.Compile之间的区别?和regexp.CompilePOSIX?我阅读了文档。但是我无法得到直观的理解。 最佳答案 Perl和POSIX兼容的正则表达式在很大程度上相似,但在某些关键方面有所不同,例如submatching。这个提到here:POSIXdefinesthattoresolvesubmatches,firstchosethematchthatstartsleftmostinthestring.(ThisistraditionalPerlbehaviorbutherethingsd

go - 突然go tool : no such tool "compile"

我已经在我的Ubuntu桌面上安装了go,在我关闭计算机之前它运行良好。现在,当我启动我的机器并继续我的项目工作时,我明白了$gobuildgotool:nosuchtool"compile"gotool:nosuchtool"compile"gotool:nosuchtool"compile"gotool:nosuchtool"compile"gotool:nosuchtool"compile"当我尝试构建一个项目时。我在关机之前做的唯一可能有一些影响的事情是使用安装godocsudoapt-getinstallgolang-doc我通过下载go1.10.1.linux-amd64.

compiler-construction - 从编译器的角度来看,Expression、Statements 和 Declaration 有什么区别?

我正在here查看ast.go的Go源代码,并且有3种类型的接口(interface),分别是Expression,Statement和Declaration。但仅通过源代码我无法弄清楚它们之间的区别。我能弄清楚的是表达式产生一个可以分配或比较或用作参数的对象,而语句是一些流程控制,如if-else或for循环。但我发现了一些定义,比如//AnIncDecStmtnoderepresentsanincrementordecrementstatement.IncDecStmtstruct{XExprTokPostoken.Pos//positionofTokToktoken.Token/

go - 如何在 Golang 中使用 'time.After' 和 'default'?

我正在尝试理解Golang例程的简单代码:packagemainimport("fmt""time")funcsleep(secondsint,endSignalchan很好,但是为什么我不能在这个“选择”block中使用简单的默认值?像这样:for!end{select{caseend=它得到这个输出:❯gorungoroutines-timeout.goNoendsignalreceived!Noendsignalreceived!Noendsignalreceived!Noendsignalreceived!...Theend!我不明白为什么。 最佳答

date - Go 语言 time.Parse() 用于没有时区的时间戳

在Go中,我尝试使用time.Parse()time包中的函数将字符串时间戳转换为Time对象。我知道Go有一种不常见的方式来表示时间戳所用的时间格式,方法是向其提供引用时间(MonJan215:04:05-0700MST2006)的示例以您的格式显示。但是,我仍然遇到错误问题。这是我的时间戳之一的示例:TueNov2709:09:29UTC2012这是我正在调用的电话:t,err:=time.Parse("MonJan0222:04:05UTC2006","TueNov2709:09:29UTC2012")基本上我在这里所做的就是尝试匹配日期名称/月份名称/日期编号的格式、小时/分钟

go - 为什么在 Go 中划分两个 time.durations 会导致另一个 time.duration?

我不明白在Go中划分一个time.Duration是什么意思。例如,这是super可爱的:d,_:=time.ParseDuration("4s")fmt.Println(d/4)打印1s。这是王牌,因为(天真地)4秒除以4是1秒。当我们发现分母中的4必须是一个持续时间时,它会变得有点困惑。所以虽然:d1:=time.Duration(4)fmt.Println(d/d1)还打印1s,我们知道d1实际上是4ns而我完全不相信4秒除以4纳秒就是1第二。我很困惑,因为持续时间除以持续时间应该是无量纲的(我认为,对吧?),而持续时间除以无量纲数应该有时间单位。我知道type!=unit,但我

time - 获取 time.Time 月份的最后一天

当我有一个time.Time时://January,29tht,_:=time.Parse("2006-01-02","2016-01-29")如何获得代表1月31日的time.Time?这个例子很简单,但是当日期在二月时,最后一天可能是28日或29日。 最佳答案 PackagetimefuncDatefuncDate(yearint,monthMonth,day,hour,min,sec,nsecint,loc*Location)TimeDatereturnstheTimecorrespondingtoyyyy-mm-ddhh:m

go - 使用 time.Unix() 从 float 解析带小数的 unix 时间戳?

这很简单,但我找不到答案,我想其他人可能有同样的问题。我有一个作为float的Unix时间戳,它包含一个小数秒的小数值。将此float作为两个单独的整数传递给time包的time.Unix(secint64,nsecint64)函数而不丢失小数精度的转换因子是多少? 最佳答案 sec,dec:=math.Modf(timeFloat);time.Unix(int64(sec),int64(dec*(1e9))); 关于go-使用time.Unix()从float解析带小数的unix时间戳

go - Go的time.Format(layout string)引用时间有什么意义?

Go的time.Format(layoutstring)引用时间有什么意义,即:2006年1月2日星期一15:04:05-0700MST这个特定时间不可能是完全随机选择的,对吧?来源:http://golang.org/pkg/time/#Time.Format 最佳答案 日期的每一部分都用作索引:Jan->1->Month2->2->Day-of-Month15=3PM->15/3->hour04->4->minute05->5->second2006->6->year-0700->7->time-zone所以根据文档:Since

go - 导入路径差使用 "build"和 "tool compile"

我正在尝试编译这个example(在当前工作目录中保存为main.go):packagemainimport("flag""log""runtime""github.com/nats-io/go-nats")//restofthecode这个有效:$gobuild./但这不是:$gotoolcompile-omain.omain.gomain.go:8:2:can'tfindimport:"github.com/nats-io/go-nats"上面的两个例子都是在同一个终端上运行的,具有相同的环境变量,所以我不明白为什么第二个例子不起作用。我已经尝试使用-D和-I参数以及各种目录作为$