mirror of
https://github.com/golang/go
synced 2024-10-04 09:21:21 -06:00
11e113db57
go/doc: move Examples to go/ast cmd/go: use go/doc to read examples src/pkg: update examples to use new convention This is to make whole file examples more readable. When presented as a complete function, preceding an Example with its output is confusing. The new convention is to put the expected output in the final comment of the example, preceded by the string "output:" (case insensitive). An idiomatic example looks like this: // This example demonstrates Foo by doing bar and quux. func ExampleFoo() { // example body that does bar and quux // Output: // example output } R=rsc, gri CC=golang-dev https://golang.org/cl/5673053
59 lines
1.1 KiB
Go
59 lines
1.1 KiB
Go
// Copyright 2011 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package time_test
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
)
|
|
|
|
func expensiveCall() {}
|
|
|
|
func ExampleDuration() {
|
|
t0 := time.Now()
|
|
expensiveCall()
|
|
t1 := time.Now()
|
|
fmt.Printf("The call took %v to run.\n", t1.Sub(t0))
|
|
}
|
|
|
|
var c chan int
|
|
|
|
func handle(int) {}
|
|
|
|
func ExampleAfter() {
|
|
select {
|
|
case m := <-c:
|
|
handle(m)
|
|
case <-time.After(5 * time.Minute):
|
|
fmt.Println("timed out")
|
|
}
|
|
}
|
|
|
|
func ExampleSleep() {
|
|
time.Sleep(100 * time.Millisecond)
|
|
}
|
|
|
|
func statusUpdate() string { return "" }
|
|
|
|
func ExampleTick() {
|
|
c := time.Tick(1 * time.Minute)
|
|
for now := range c {
|
|
fmt.Printf("%v %s\n", now, statusUpdate())
|
|
}
|
|
}
|
|
|
|
func ExampleMonth() {
|
|
_, month, day := time.Now().Date()
|
|
if month == time.November && day == 10 {
|
|
fmt.Println("Happy Go day!")
|
|
}
|
|
}
|
|
|
|
func ExampleDate() {
|
|
t := time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
|
|
fmt.Printf("Go launched at %s\n", t.Local())
|
|
// Output: Go launched at 2009-11-10 15:00:00 -0800 PST
|
|
}
|