Slide 1

Slide 1 text

kuşbakışı GO

Slide 2

Slide 2 text

Oğuzhan YILMAZ [email protected] twitter.com/c1982 github.com/c1982 ● Websahibi ● Vargonen ● MaestroPanel ● MaestroPanel ● bloket.pro ● atarca.network SDN ● Vana SMTP Gateway ● Cryptocurrency Exchange ● UzakEL Public Blackhole ● IPMAN Game Firewall

Slide 3

Slide 3 text

Brad Fitzpatrick *Rob Pike *Robert Griesemer David Simons Andrew Gerrard Ian Lance Taylor rsc

Slide 4

Slide 4 text

https://opensource.googleblog.com/2009/11/hey-ho-lets-go.html

Slide 5

Slide 5 text

Language Design in the Service of Software Engineering

Slide 6

Slide 6 text

Go, static-type kadar sağlam, dynamic-type kadar kolay, hızlı derlenen basit bir dil.

Slide 7

Slide 7 text

https://www.youtube.com/watch?v=rFejpH_tAHM

Slide 8

Slide 8 text

● Go 1.2 FreeBSD, DragonfyBSD, OpenBSD, ○ Go 1.3 NetBSD, Plan 9 386, NaCl, Solaris amd64 ■ Go 1.4 Android, NaCl on ARM, and Plan 9 amd64 ● Go 1.5 arm64 Linux and OS X. ○ Go 1.6 64bit MIPS on Linux, and Android on 386 ■ Go 1.7 IBM System/z and 64 bit PowerPC ● Go 1.8 32 bit MIPS ○ Go 1.11 Web Assembly, RISC-V port

Slide 9

Slide 9 text

Kimler Kullanıyor? Atlassian, Heptio, Digital Ocean, Netflix, Pulimi, Twitch, Google, Microsoft, Reddit, Cloudflare, MongoDB, InfluxDB, Datadog, bookings.com, Rakuten, GitHub, GitLab, Freelancer, Fastly, Netlify, Pivotal, Couchbase, Lyft, Monzo, Uber, Source{d}, srcgraph ...

Slide 10

Slide 10 text

Türkiye'de Kimler Kullanıyor? https://github.com/golang/go/wiki/GoUsers#turkey MaestroPanel

Slide 11

Slide 11 text

Ürünler Vitess, Docker, Traefic, Kubernetes, Istio, GitLab, Vault, Consul, Terraform, CockroachDB, CloudFoundry, Gobot, Beego ...

Slide 12

Slide 12 text

GODOC.ORG 800K Paket

Slide 13

Slide 13 text

Konferanslar

Slide 14

Slide 14 text

Takip Edilesi https://twitter.com/c1982/lists/golang/members

Slide 15

Slide 15 text

IDEs

Slide 16

Slide 16 text

Gopher https://www.instagram.com/reneefrench/

Slide 17

Slide 17 text

GO

Slide 18

Slide 18 text

Compilation Compilation Order Less I/O

Slide 19

Slide 19 text

Garbage Collector Tri-Color Marking (beyaz,gri,siyah) Concurrent Mark-and-Sweep ● https://blog.golang.org/go15gc ● https://www.youtube.com/watch?v=aiv1JOfMjm0 ● https://github.com/golang/go/blob/master/src/runtime/mgc.go

Slide 20

Slide 20 text

Concurrecy Built-in Support 4K Size Green-Trading Communicating Sequential Processes Message Passing Don't communicate by sharing memory; share memory by communicating.

Slide 21

Slide 21 text

Dependency Unused compile time error No circular dependency allowed

Slide 22

Slide 22 text

Package Management go get (built-in - no versioning) go mod (1.11 built-in - support versioning) go-dep (external)

Slide 23

Slide 23 text

go tools

Slide 24

Slide 24 text

Embedded Fields (composition)

Slide 25

Slide 25 text

Method Expressions

Slide 26

Slide 26 text

Higher-Order Functions

Slide 27

Slide 27 text

Type Alias https://github.com/golang/go/blob/50bd1c4d4eb4fac8ddeb5f063c099daccfb71b26/src/builtin/builtin.go

Slide 28

Slide 28 text

Anonymous Interface

Slide 29

Slide 29 text

İsimlendirme ● https://github.com/golang/go/wiki/CodeReviewComments ● https://www.cheatography.com/paulwaldmann/cheat-sheets/golang-naming-conventions/

Slide 30

Slide 30 text

Simplicity is the ultimate sophistication... Leonardo da Vinci