forked from navy1125/gostudy
/
runtimetest.go
70 lines (68 loc) · 1.5 KB
/
runtimetest.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// You can edit this code!
// Click here and start typing.
package main
import (
"fmt"
//"git.code4.in/logging"
"reflect"
"runtime"
"runtime/debug"
"time"
)
func RoundPos(dep int32, cb func(r, x, y int32)) {
cb(0, 0, 0)
var n, m int32
for n = 1; n <= dep; n++ {
for m = -n; m < n; m++ {
cb(n, m, n)
}
for m = n; m > -n; m-- {
cb(n, n, m)
}
for m = n; m > -n; m-- {
cb(n, m, -n)
}
for m = -n; m < n; m++ {
cb(n, -n, m)
}
}
}
func main() {
select {
case <-time.After(time.Second):
fmt.Println(time.Minute.Seconds(), time.Second)
}
select {
case <-time.After(time.Minute):
fmt.Println(time.Minute.Seconds(), time.Second)
}
var kvlist []int
kvlist = make([]int, 0, 10)
kvlist = append(kvlist, 1)
fmt.Println(kvlist)
m := make(map[int]int, 10)
m[1] += 1
fmt.Println("aaaa:", string(runtime.CPUProfile()), m, cap(kvlist))
for i := 0; ; i++ {
pc, file, line, ok := runtime.Caller(i)
if ok == false {
break
}
fmt.Println(pc, file, line, ok)
//runtime.Breakpoint()
}
fmt.Println(runtime.Version())
buf := make([]byte, 1025)
len := runtime.Stack(buf, true)
fmt.Println(string(runtime.CPUProfile()))
fmt.Println(len, string(buf[:len]))
//debug.PrintStack()
fmt.Println(debug.SetMaxThreads(10))
i := 100
fmt.Println(reflect.TypeOf((*int32)(nil)).Elem())
fmt.Println(reflect.ValueOf(&i).Kind())
fmt.Println(reflect.TypeOf(&i).Kind())
RoundPos(3, func(r, x, y int32) {
println(r, x, y)
})
}