golang中的空函数

时间:2015-04-14 21:48:37

标签: go

正在查看源代码的源代码,下面是sleep.go的一个片段(封装时间):

package time

// Sleep pauses the current goroutine for at least the duration d.
// A negative or zero duration causes Sleep to return immediately.
func Sleep(d Duration) 
// runtimeNano returns the current value of the runtime clock in nanoseconds.
func runtimeNano() int64

func Sleep(d Duration)怎么可能没有任何实现?我在哪里可以找到睡眠功能的确切实现?

编辑:答案可以在@DaveC提供的2个链接中找到。但是请阅读下面的评论,看看有关为什么在自举Go(1.5)之后无法用Go替换空函数的解释

1 个答案:

答案 0 :(得分:1)

考虑Sleep()做了什么(它在一定时间内取消了golang线程),你无法表达它,所以它可能被实现为某种编译器的内在。

哇,这里有很多的投票。看起来Sleep实际上是implemented in assembly