Slide 1

Slide 1 text

Go Λ͸͡ΊΔʹ͋ͨͬͯ ஌͓͍ͬͯͯ΄͍͠πʔϧ 2019/04/19 @golang.tokyo 1 The Go gopher was designed by Renee French.

Slide 2

Slide 2 text

Who? • ެ຿һʢࢁܗݝிʣ
 →WebσβΠφʔ
 →αʔόʔαΠυΤϯδχΞ w Women Who Go Tokyoελοϑ !2 ID: mom0tomo

Slide 3

Slide 3 text

Women Who Go Tokyo Go޷͖͕ू·ͬͯɺ݄ʹҰ౓ςʔϚֶश͍ͯ͠·͢ !3

Slide 4

Slide 4 text

ΩʔΩϟοϓ൦෍͠·ͨ͠ ٕज़ॻయ#wwg_tokyo !4

Slide 5

Slide 5 text

஌͓ͬͯ͘ͱ ໾ʹཱͭ͜ͱ !5

Slide 6

Slide 6 text

golang.orgΛࢀর͠Α͏ !6

Slide 7

Slide 7 text

golang.orgΛࢀর͠Α͏ golang.jp͸಺༰͕WҎલͳͷͰ஫ҙ͢Δ !7

Slide 8

Slide 8 text

Gophers.slack.comʹࢀՃ͠Α͏ !8

Slide 9

Slide 9 text

Gophers.slack.comʹࢀՃ͠Α͏ https://invite.slack.golangbridge.org/ !9

Slide 10

Slide 10 text

Golang WeeklyΛಡ΋͏ !10

Slide 11

Slide 11 text

!11 ஌͍ͬͯΔͱ ศརͳπʔϧ

Slide 12

Slide 12 text

Go ͸ίϚϯυ/πʔϧ͕ॆ࣮ͯ͠ ͍Δ • go ίϚϯυ • go tool • ඪ४ɾ४ඪ४ύοέʔδͰఏڙ͞Ε͍ͯΔ • IDEʹཔΒͳͯ͘΋շదʹ։ൃͰ͖Δ

Slide 13

Slide 13 text

؀ڥม਺Λදࣔ͢Δ $ go env 13

Slide 14

Slide 14 text

$ go env GOARCH="amd64" GOBIN="" GOCACHE="/home/alex/.cache/go-build" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/alex/go" GOPROXY="" GORACE="" GOROOT="/usr/local/go" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GCCGO="gccgo" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go- build245740092=/tmp/go-build -gno-record-gcc-switches" 14

Slide 15

Slide 15 text

$ go env GOPATH GOROOT /Users/mom0tomo/dev/go /usr/local/go // ಛఆͷ؀ڥม਺Λൈ͖ग़ͯ͠දࣔ͢Δ 15

Slide 16

Slide 16 text

ίʔυΛformat͢Δ $ gofmt $ go fmt 16

Slide 17

Slide 17 text

$ gofmt . $ gofmt foo.go // Options // -d : diffΛඪ४ग़ྗ͢Δ // -l : ϑΝΠϧ໊Λඪ४ग़ྗ͢Δ // -w : ্ॻ͖อଘ͢Δ // -s : ه๏Λγϯϓϧʹ͢Δ // Ұཡ͸ https://godoc.org/github.com/gophersjp/go/src/cmd/gofmt 17

Slide 18

Slide 18 text

$ go fmt . $ go fmt foo.go // $ gofmt -l -w ͱಉ͡͸ͨΒ͖ // formatͨ͠಺༰Ͱ্ॻ͖ͯ͠ϑΝΠϧ໊Λඪ४ग़ྗ͢Δ 18

Slide 19

Slide 19 text

ίʔυΛ੩తղੳͯ͠ ଥ౰ੑΛνΣοΫ͢Δ $ go vet 19

Slide 20

Slide 20 text

$ go vet . $ go vet foo.go // ίʔυΛ੩తղੳͯ͠ه๏ΛνΣοΫ͢Δ // ίϯύΠϥʹ͸ݕ஌Ͱ͖ͳ͍΋ͷΛݟ͚ͭͯ͘ΕΔ 20

Slide 21

Slide 21 text

Ϧϯλʔʹ͔͚Δ $ golint 21

Slide 22

Slide 22 text

$ golint . $ golint foo.go // ίʔυ͕Effective GoͱCodeReviewCommentsʹ Ԋ͏͔νΣοΫ͢Δ 22

Slide 23

Slide 23 text

Thank you! @mom0tomo 23