Exporting Go
Exporting Go Robert Griesemer GopherCon Singapore, 2017 Intro ● Go package ○ Namespace ○ Interface (export) ○ Import ● Implementation ○ Export/import (this talk) ○ Linker (not this talk) A long * 3 … 996 == 2^2 * 3 * 83 997 == 997 prime 998 == 2 * 499 999 == 3^3 * 37 1000 == 2^3 * 5^3 Go package main import "fmt" type List struct { Factor, Power int Link *List } func Factor(x lib.o lib.go package client import “./lib” … client.go client.o export data export data go tool compile lib.go go tool compile client.go lib.o before Go 1.7 go object darwin amd64 go1.5 X:none0 码力 | 34 页 | 2.29 MB | 1 年前3The Expressiveness of Go
http://golang.org Monday, October 18, 2010 http://golang.org The Expressiveness of Go Rob Pike JAOO Oct 5, 2010 Monday, October 18, 2010 Who 2 Monday, October 18, 2010 Team 3 Russ Cox Robert source community. Monday, October 18, 2010 Why 4 Why a new language? Monday, October 18, 2010 Why Go? 5 A response to Google’s internal needs: - efficient large scale programming - speed of compilation - complexity, weight, noise (C++, Java) vs. - no static checking (JavaScript, Python) Go is statically typed and compiled, like C++ or Java (with no VM), but in many ways feels as lightweight0 码力 | 49 页 | 839.26 KB | 1 年前3Go Programming
May 21, 2010 Go Programming Russ Cox and Rob Pike May 20, 2010 Friday, May 21, 2010 Live waving 3 View live notes and ask questions about this session on Google Wave: http://bit.ly/go2010io Friday 2010 Go is different 4 Go is more unusual than you might first think. Programming in Go is different from programming in most procedural languages. If you try to write Java* programs in Go, you may may become frustrated. If you write Go programs in Go, you will be much more productive. Our goal today is to teach you to think like a Go programmer. *Sometimes we'll use Java as a reference for0 码力 | 60 页 | 1.04 MB | 1 年前3Go on GPU
Changkun Ou. 2023. Go on GPU. GopherChina 2023. Session "Foundational Toolchains" Go on GPU Changkun Ou changkun.de/s/gogpu GopherChina 2023 Session “Foundational Toolchains” 2023 June 10 1 Changkun Ou. 2023. Go on GPU. GopherChina 2023. Session "Foundational Toolchains" Agenda ● Basic knowledge for interacting with GPUs ● Accelerate Go programs using GPUs ● Challenges in Go when using GPUs GPUs ● Conclusion and outlooks 2 Changkun Ou. 2023. Go on GPU. GopherChina 2023. Session "Foundational Toolchains" Agenda ● Basic knowledge for interacting with GPUs ○ Motivation ○ GPU Driver0 码力 | 57 页 | 4.62 MB | 1 年前3The Go Handbook
The Go Handbook Conclusion 2 Preface The Go Handbook follows the 80/20 rule: learn in 20% of the time the 80% of a topic. In particular, the goal is to get you up to speed quickly with Go. This @flaviocopes. Enjoy! 3 The Go Handbook 1. Preface 2. Getting started with Go 3. Install Go 4. Setup your editor 5. Hello, World! 6. Compiling and running the Go program 7. The workspace 8. Diving Operators 18. Structs 19. Functions 20. Pointers 21. Methods 22. Interfaces 23. Where to go from here 1. Preface Go is an awesome, simple, modern, fast programming language. It’s compiled, open source0 码力 | 44 页 | 4.30 MB | 1 年前3Go in TiDB
Go in TiDB Yao Wei | PingCAP About me ● Yao Wei (姚维) ● TiDB Kernel Expert, General Manager of South Region, China ● 360 Infra team / Alibaba-UC / PingCAP ● Atlas/MySQL-Sniffer ● Infrastructure software libraries and tools ● Tolerant GC latency ● Good performance ● Quick improvement Go in TiDB ● More than 160K lines of Go code and 138 contributors. Memory && GC • Query may touch a huge number of data0 码力 | 22 页 | 1.01 MB | 1 年前31.2 Go in TiDB
Go in TiDB 申砾@PingCAP Agenda • About Me • What is TiDB • TiDB Architecture • SQL Layer Internal • Golang in TiDB • Next Step of TiDB About Me • Shen Li (申砾) • Tech Lead of TiDB, VP of Engineering Why Go? • Productivity • Concurrency • Great for network programming • GC • Standard libraries && Tools • Good performance • Quick improvement Go in TiDB • More than 100k lines of Go code and session is hard • Account for large memory allocation • Account for memory consuming operators New in Go1.8 • Better GC • Pauses 50μs • sort.Slice Next Step of TiDB • Switch to gRPC • Document support0 码力 | 27 页 | 935.47 KB | 5 月前3Real World Go
Real World Go Andrew Gerrand May 9, 2011 Background 3 Google Confidential Why Go? • Statically typed languages are efficient, but typically bureaucratic and overly complex. • Dynamic languages can simplicity: pick two.” (sometimes just one) • Can’t we do better? 3 Google Confidential What is Go? • Go is a modern, general purpose language. • Compiles to native machine code (32-bit and 64-bit x86 Concurrency primitives. 3 Google Confidential Tenets of Go’s design • Simplicity – Each language feature should be easy to understand. • Orthogonality – Go’s features should interact in predictable and consistent0 码力 | 49 页 | 595.19 KB | 1 年前32.1.4 The Zen of Go
The Zen of Go GopherChina 2021 How should I write good code? How do you know when you’ve written good code? Idiomatic Go idiom (noun): a group of words established by usage as having a meaning meaning not deducible from those of the individual words. Go Proverbs proverb (noun): a short, well- known pithy saying, stating a general truth or piece of advice. Engineering Values Developing a Culture huge challenge Values guide your decisions in unknown situations What are the explicit values of Go? Perhaps we can look to values from other languages? C++/Rust Don’t pay for what you don’t use0 码力 | 73 页 | 13.96 MB | 1 年前3Bazel build //:Go
Bazel build //:Go Help everyone become a global citizen! github/lingochamp Agenda • Package Management • Code Management (Multi languages) • Bazel build //:Go • Demo • Q & A Package Management Go 1.5 introduced experimental support for a "vendor" directory, enabled by the GO15VENDOREXPERIMENT environment variable. Go 1.6 enabled this behavior by default , and in Go 1.7, in Go - Russ Cox Russ Cox 说: • Rust 的 Cargo 做的不不错,于是我们做了了 Dep • ⼋八年年的 go install 和 go get ⾟辛苦⼤大家了了, go module 了了解⼀一下 • go module 会⼲干掉⼤大部分的 vendor ⽬目录 ? Russ Cox 说: "the new concept of a Go module0 码力 | 85 页 | 3.46 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100