Use more idiomatic <int> * <const> for intervals
This commit is contained in:
parent
1d272218fd
commit
01a5f6de68
@ -24,7 +24,7 @@ func main() {
|
||||
// This `limiter` channel will receive a value
|
||||
// every 200 milliseconds. This is the regulator in
|
||||
// our rate limiting scheme.
|
||||
limiter := time.Tick(time.Millisecond * 200)
|
||||
limiter := time.Tick(200 * time.Millisecond)
|
||||
|
||||
// By blocking on a receive from the `limiter` channel
|
||||
// before serving each request, we limit ourselves to
|
||||
@ -49,7 +49,7 @@ func main() {
|
||||
// Every 200 milliseconds we'll try to add a new
|
||||
// value to `burstyLimiter`, up to its limit of 3.
|
||||
go func() {
|
||||
for t := range time.Tick(time.Millisecond * 200) {
|
||||
for t := range time.Tick(200 * time.Millisecond) {
|
||||
burstyLimiter <- t
|
||||
}
|
||||
}()
|
||||
|
@ -1,2 +1,2 @@
|
||||
b8dbdb8d53386f00ff900fea62db400d962b4834
|
||||
h9TUTv494TN
|
||||
edad78bf3b36ddc9bec30b344b8a72be4de90f3b
|
||||
l4uDE-RCDpa
|
||||
|
@ -17,11 +17,11 @@ func main() {
|
||||
// of time, to simulate e.g. blocking RPC operations
|
||||
// executing in concurrent goroutines.
|
||||
go func() {
|
||||
time.Sleep(time.Second * 1)
|
||||
time.Sleep(1 * time.Second)
|
||||
c1 <- "one"
|
||||
}()
|
||||
go func() {
|
||||
time.Sleep(time.Second * 2)
|
||||
time.Sleep(2 * time.Second)
|
||||
c2 <- "two"
|
||||
}()
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
72503557ab54ef765eeba153fe8a3446541dfc5f
|
||||
Vco7d8Lmhn
|
||||
8d743edffd7de6bf7bccdf4437f45672b6adc75e
|
||||
ZdSOPe1Gj13
|
||||
|
@ -15,7 +15,7 @@ func main() {
|
||||
// channel that is sent values. Here we'll use the
|
||||
// `range` builtin on the channel to iterate over
|
||||
// the values as they arrive every 500ms.
|
||||
ticker := time.NewTicker(time.Millisecond * 500)
|
||||
ticker := time.NewTicker(500 * time.Millisecond)
|
||||
go func() {
|
||||
for t := range ticker.C {
|
||||
fmt.Println("Tick at", t)
|
||||
@ -25,7 +25,7 @@ func main() {
|
||||
// Tickers can be stopped like timers. Once a ticker
|
||||
// is stopped it won't receive any more values on its
|
||||
// channel. We'll stop ours after 1600ms.
|
||||
time.Sleep(time.Millisecond * 1600)
|
||||
time.Sleep(1600 * time.Millisecond)
|
||||
ticker.Stop()
|
||||
fmt.Println("Ticker stopped")
|
||||
}
|
||||
|
@ -1,2 +1,2 @@
|
||||
5d97b8ebdf36a65f0e92040bae0097f60b79e1ed
|
||||
MO3ndiv5qR
|
||||
7dc6447323f493f72aa70952bf3e3f2c6156f82f
|
||||
Rgc_UDvHv6a
|
||||
|
@ -15,7 +15,7 @@ func main() {
|
||||
// after 2s.
|
||||
c1 := make(chan string, 1)
|
||||
go func() {
|
||||
time.Sleep(time.Second * 2)
|
||||
time.Sleep(2 * time.Second)
|
||||
c1 <- "result 1"
|
||||
}()
|
||||
|
||||
@ -28,7 +28,7 @@ func main() {
|
||||
select {
|
||||
case res := <-c1:
|
||||
fmt.Println(res)
|
||||
case <-time.After(time.Second * 1):
|
||||
case <-time.After(1 * time.Second):
|
||||
fmt.Println("timeout 1")
|
||||
}
|
||||
|
||||
@ -36,13 +36,13 @@ func main() {
|
||||
// from `c2` will succeed and we'll print the result.
|
||||
c2 := make(chan string, 1)
|
||||
go func() {
|
||||
time.Sleep(time.Second * 2)
|
||||
time.Sleep(2 * time.Second)
|
||||
c2 <- "result 2"
|
||||
}()
|
||||
select {
|
||||
case res := <-c2:
|
||||
fmt.Println(res)
|
||||
case <-time.After(time.Second * 3):
|
||||
case <-time.After(3 * time.Second):
|
||||
fmt.Println("timeout 2")
|
||||
}
|
||||
}
|
||||
|
@ -1,2 +1,2 @@
|
||||
5ea69771a4d4c6286fd587f91e03cd386f77cada
|
||||
NR2GHXUKeM
|
||||
93343e1aacb14f818c87732914c29ba57afab245
|
||||
MgcfA-xpJO9
|
||||
|
@ -15,7 +15,7 @@ func main() {
|
||||
// tell the timer how long you want to wait, and it
|
||||
// provides a channel that will be notified at that
|
||||
// time. This timer will wait 2 seconds.
|
||||
timer1 := time.NewTimer(time.Second * 2)
|
||||
timer1 := time.NewTimer(2 * time.Second)
|
||||
|
||||
// The `<-timer1.C` blocks on the timer's channel `C`
|
||||
// until it sends a value indicating that the timer
|
||||
|
@ -1,2 +1,2 @@
|
||||
a5b44952d93152ba6bfdb100ea30cd8446cad47e
|
||||
6fSHrYxpMu
|
||||
e10c601ab3b702dfcea728c1edb31673561484b5
|
||||
pybl9hRvJq2
|
||||
|
@ -43,7 +43,7 @@ channels, and <a href="tickers">tickers</a>.</p>
|
||||
|
||||
</td>
|
||||
<td class="code leading">
|
||||
<a href="http://play.golang.org/p/h9TUTv494TN"><img title="Run code" src="play.png" class="run" /></a>
|
||||
<a href="http://play.golang.org/p/l4uDE-RCDpa"><img title="Run code" src="play.png" class="run" /></a>
|
||||
<div class="highlight"><pre><span class="kn">package</span> <span class="nx">main</span>
|
||||
</pre></div>
|
||||
|
||||
@ -104,7 +104,7 @@ our rate limiting scheme.</p>
|
||||
</td>
|
||||
<td class="code leading">
|
||||
|
||||
<div class="highlight"><pre> <span class="nx">limiter</span> <span class="o">:=</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Tick</span><span class="p">(</span><span class="nx">time</span><span class="p">.</span><span class="nx">Millisecond</span> <span class="o">*</span> <span class="mi">200</span><span class="p">)</span>
|
||||
<div class="highlight"><pre> <span class="nx">limiter</span> <span class="o">:=</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Tick</span><span class="p">(</span><span class="mi">200</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Millisecond</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</td>
|
||||
@ -169,7 +169,7 @@ value to <code>burstyLimiter</code>, up to its limit of 3.</p>
|
||||
<td class="code leading">
|
||||
|
||||
<div class="highlight"><pre> <span class="k">go</span> <span class="kd">func</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="k">for</span> <span class="nx">t</span> <span class="o">:=</span> <span class="k">range</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Tick</span><span class="p">(</span><span class="nx">time</span><span class="p">.</span><span class="nx">Millisecond</span> <span class="o">*</span> <span class="mi">200</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">for</span> <span class="nx">t</span> <span class="o">:=</span> <span class="k">range</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Tick</span><span class="p">(</span><span class="mi">200</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Millisecond</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">burstyLimiter</span> <span class="o"><-</span> <span class="nx">t</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}()</span>
|
||||
|
@ -41,7 +41,7 @@ select is a powerful feature of Go.</p>
|
||||
|
||||
</td>
|
||||
<td class="code leading">
|
||||
<a href="http://play.golang.org/p/Vco7d8Lmhn"><img title="Run code" src="play.png" class="run" /></a>
|
||||
<a href="http://play.golang.org/p/ZdSOPe1Gj13"><img title="Run code" src="play.png" class="run" /></a>
|
||||
<div class="highlight"><pre><span class="kn">package</span> <span class="nx">main</span>
|
||||
</pre></div>
|
||||
|
||||
@ -97,11 +97,11 @@ executing in concurrent goroutines.</p>
|
||||
<td class="code leading">
|
||||
|
||||
<div class="highlight"><pre> <span class="k">go</span> <span class="kd">func</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="nx">time</span><span class="p">.</span><span class="nx">Sleep</span><span class="p">(</span><span class="nx">time</span><span class="p">.</span><span class="nx">Second</span> <span class="o">*</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="nx">time</span><span class="p">.</span><span class="nx">Sleep</span><span class="p">(</span><span class="mi">1</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Second</span><span class="p">)</span>
|
||||
<span class="nx">c1</span> <span class="o"><-</span> <span class="s">"one"</span>
|
||||
<span class="p">}()</span>
|
||||
<span class="k">go</span> <span class="kd">func</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="nx">time</span><span class="p">.</span><span class="nx">Sleep</span><span class="p">(</span><span class="nx">time</span><span class="p">.</span><span class="nx">Second</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
|
||||
<span class="nx">time</span><span class="p">.</span><span class="nx">Sleep</span><span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Second</span><span class="p">)</span>
|
||||
<span class="nx">c2</span> <span class="o"><-</span> <span class="s">"two"</span>
|
||||
<span class="p">}()</span>
|
||||
</pre></div>
|
||||
|
@ -43,7 +43,7 @@ periodically until we stop it.</p>
|
||||
|
||||
</td>
|
||||
<td class="code leading">
|
||||
<a href="http://play.golang.org/p/MO3ndiv5qR"><img title="Run code" src="play.png" class="run" /></a>
|
||||
<a href="http://play.golang.org/p/Rgc_UDvHv6a"><img title="Run code" src="play.png" class="run" /></a>
|
||||
<div class="highlight"><pre><span class="kn">package</span> <span class="nx">main</span>
|
||||
</pre></div>
|
||||
|
||||
@ -85,7 +85,7 @@ the values as they arrive every 500ms.</p>
|
||||
</td>
|
||||
<td class="code leading">
|
||||
|
||||
<div class="highlight"><pre> <span class="nx">ticker</span> <span class="o">:=</span> <span class="nx">time</span><span class="p">.</span><span class="nx">NewTicker</span><span class="p">(</span><span class="nx">time</span><span class="p">.</span><span class="nx">Millisecond</span> <span class="o">*</span> <span class="mi">500</span><span class="p">)</span>
|
||||
<div class="highlight"><pre> <span class="nx">ticker</span> <span class="o">:=</span> <span class="nx">time</span><span class="p">.</span><span class="nx">NewTicker</span><span class="p">(</span><span class="mi">500</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Millisecond</span><span class="p">)</span>
|
||||
<span class="k">go</span> <span class="kd">func</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="k">for</span> <span class="nx">t</span> <span class="o">:=</span> <span class="k">range</span> <span class="nx">ticker</span><span class="p">.</span><span class="nx">C</span> <span class="p">{</span>
|
||||
<span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span><span class="p">(</span><span class="s">"Tick at"</span><span class="p">,</span> <span class="nx">t</span><span class="p">)</span>
|
||||
@ -105,7 +105,7 @@ channel. We’ll stop ours after 1600ms.</p>
|
||||
</td>
|
||||
<td class="code">
|
||||
|
||||
<div class="highlight"><pre> <span class="nx">time</span><span class="p">.</span><span class="nx">Sleep</span><span class="p">(</span><span class="nx">time</span><span class="p">.</span><span class="nx">Millisecond</span> <span class="o">*</span> <span class="mi">1600</span><span class="p">)</span>
|
||||
<div class="highlight"><pre> <span class="nx">time</span><span class="p">.</span><span class="nx">Sleep</span><span class="p">(</span><span class="mi">1600</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Millisecond</span><span class="p">)</span>
|
||||
<span class="nx">ticker</span><span class="p">.</span><span class="nx">Stop</span><span class="p">()</span>
|
||||
<span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span><span class="p">(</span><span class="s">"Ticker stopped"</span><span class="p">)</span>
|
||||
<span class="p">}</span>
|
||||
|
@ -42,7 +42,7 @@ elegant thanks to channels and <code>select</code>.</p>
|
||||
|
||||
</td>
|
||||
<td class="code leading">
|
||||
<a href="http://play.golang.org/p/NR2GHXUKeM"><img title="Run code" src="play.png" class="run" /></a>
|
||||
<a href="http://play.golang.org/p/MgcfA-xpJO9"><img title="Run code" src="play.png" class="run" /></a>
|
||||
<div class="highlight"><pre><span class="kn">package</span> <span class="nx">main</span>
|
||||
</pre></div>
|
||||
|
||||
@ -85,7 +85,7 @@ after 2s.</p>
|
||||
|
||||
<div class="highlight"><pre> <span class="nx">c1</span> <span class="o">:=</span> <span class="nb">make</span><span class="p">(</span><span class="kd">chan</span> <span class="kt">string</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">go</span> <span class="kd">func</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="nx">time</span><span class="p">.</span><span class="nx">Sleep</span><span class="p">(</span><span class="nx">time</span><span class="p">.</span><span class="nx">Second</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
|
||||
<span class="nx">time</span><span class="p">.</span><span class="nx">Sleep</span><span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Second</span><span class="p">)</span>
|
||||
<span class="nx">c1</span> <span class="o"><-</span> <span class="s">"result 1"</span>
|
||||
<span class="p">}()</span>
|
||||
</pre></div>
|
||||
@ -108,7 +108,7 @@ if the operation takes more than the allowed 1s.</p>
|
||||
<div class="highlight"><pre> <span class="k">select</span> <span class="p">{</span>
|
||||
<span class="k">case</span> <span class="nx">res</span> <span class="o">:=</span> <span class="o"><-</span><span class="nx">c1</span><span class="p">:</span>
|
||||
<span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span><span class="p">(</span><span class="nx">res</span><span class="p">)</span>
|
||||
<span class="k">case</span> <span class="o"><-</span><span class="nx">time</span><span class="p">.</span><span class="nx">After</span><span class="p">(</span><span class="nx">time</span><span class="p">.</span><span class="nx">Second</span> <span class="o">*</span> <span class="mi">1</span><span class="p">):</span>
|
||||
<span class="k">case</span> <span class="o"><-</span><span class="nx">time</span><span class="p">.</span><span class="nx">After</span><span class="p">(</span><span class="mi">1</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Second</span><span class="p">):</span>
|
||||
<span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span><span class="p">(</span><span class="s">"timeout 1"</span><span class="p">)</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
@ -126,13 +126,13 @@ from <code>c2</code> will succeed and we’ll print the result.</p>
|
||||
|
||||
<div class="highlight"><pre> <span class="nx">c2</span> <span class="o">:=</span> <span class="nb">make</span><span class="p">(</span><span class="kd">chan</span> <span class="kt">string</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">go</span> <span class="kd">func</span><span class="p">()</span> <span class="p">{</span>
|
||||
<span class="nx">time</span><span class="p">.</span><span class="nx">Sleep</span><span class="p">(</span><span class="nx">time</span><span class="p">.</span><span class="nx">Second</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
|
||||
<span class="nx">time</span><span class="p">.</span><span class="nx">Sleep</span><span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Second</span><span class="p">)</span>
|
||||
<span class="nx">c2</span> <span class="o"><-</span> <span class="s">"result 2"</span>
|
||||
<span class="p">}()</span>
|
||||
<span class="k">select</span> <span class="p">{</span>
|
||||
<span class="k">case</span> <span class="nx">res</span> <span class="o">:=</span> <span class="o"><-</span><span class="nx">c2</span><span class="p">:</span>
|
||||
<span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span><span class="p">(</span><span class="nx">res</span><span class="p">)</span>
|
||||
<span class="k">case</span> <span class="o"><-</span><span class="nx">time</span><span class="p">.</span><span class="nx">After</span><span class="p">(</span><span class="nx">time</span><span class="p">.</span><span class="nx">Second</span> <span class="o">*</span> <span class="mi">3</span><span class="p">):</span>
|
||||
<span class="k">case</span> <span class="o"><-</span><span class="nx">time</span><span class="p">.</span><span class="nx">After</span><span class="p">(</span><span class="mi">3</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Second</span><span class="p">):</span>
|
||||
<span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span><span class="p">(</span><span class="s">"timeout 2"</span><span class="p">)</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
|
@ -43,7 +43,7 @@ at <a href="tickers">tickers</a>.</p>
|
||||
|
||||
</td>
|
||||
<td class="code leading">
|
||||
<a href="http://play.golang.org/p/6fSHrYxpMu"><img title="Run code" src="play.png" class="run" /></a>
|
||||
<a href="http://play.golang.org/p/pybl9hRvJq2"><img title="Run code" src="play.png" class="run" /></a>
|
||||
<div class="highlight"><pre><span class="kn">package</span> <span class="nx">main</span>
|
||||
</pre></div>
|
||||
|
||||
@ -85,7 +85,7 @@ time. This timer will wait 2 seconds.</p>
|
||||
</td>
|
||||
<td class="code leading">
|
||||
|
||||
<div class="highlight"><pre> <span class="nx">timer1</span> <span class="o">:=</span> <span class="nx">time</span><span class="p">.</span><span class="nx">NewTimer</span><span class="p">(</span><span class="nx">time</span><span class="p">.</span><span class="nx">Second</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
|
||||
<div class="highlight"><pre> <span class="nx">timer1</span> <span class="o">:=</span> <span class="nx">time</span><span class="p">.</span><span class="nx">NewTimer</span><span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="nx">time</span><span class="p">.</span><span class="nx">Second</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</td>
|
||||
|
Loading…
x
Reference in New Issue
Block a user