-
Notifications
You must be signed in to change notification settings - Fork 4
/
go1.10.release.slide
82 lines (54 loc) · 1.99 KB
/
go1.10.release.slide
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
71
72
73
74
75
76
77
78
79
80
81
82
Go 1.10
24 Feb 2018
Dinesh Kumar
Product Engineer, Gojek
https://github.com/devdinu
@devdineshkumar
* Release
- toolchain, runtime and libs
* Test
- runs vet automatically during tests
go test -vet=off
- caches the test results [so cool] shows cached instead of time elapsed
go count=1 to skip cache
- failfast flag disables running additional tests after any test fails
go test -failfast
* Changes
- go get - supports Fossil source code repositories.
- fix replaces imports of "golang.org/x/net/context" with "context"
go tool fix .
* Changes
- pprof includes symbol information (binay isn't required)
- go tool vet does not include all rules and should be avoided
- no more GOROOT pain
- [[https://golang.org/doc/diagnostics.html][Diagnostics]] better doc :)
* gofmt
- keeps single method interface in oneline :)
- Three index slicing is formatted properly
x[i+1 : j:k] as x[i+1 : j : k]
* Three index slicing
.code src/slices/cappedslice.go
* Compiler toolchain
- DWARF debug information
* Runtime
- less CPU utilization
- GC less allocation latency and performance overhead
* Core library
archive, bufio, bytes, crypto
* Bufio
- Reader Writer has Size method
.play src/go1.10/main.go
* bytes
- The [[https://golang.org/pkg/bytes/#Fields][Fields]], [[https://golang.org/pkg/bytes/#FieldsFunc][FieldsFunc]], Split, and SplitAfter used to return subslices of their inputs.
- now returns subslice which has capacity equal to its length, so that appending to one cannot overwrite adjacent data in the original input.
.play src/go1.10/splits.go /^func split/,/^}/
* encoding
- asn1, csv, hex, json
- json: DisallowUnknownFields errors when json has more fields
* net/http
- HTTP2 as proxy in client side
* Resources
.link https://golang.org/doc/go1.10 go1.10 Release
.link https://golang.org/doc/diagnostics.html Diagnostics Doc
- go get - supports Fossil source code repositories.
.link https://www.ardanlabs.com/blog/2013/12/three-index-slices-in-go-12.html Three index slices