Which is why human App Reviewers ensure that the apps on the App Store adhere to our strict app review standards. Our App Store Review Guidelines require apps to be safe, provide a good user experience, comply with our privacy rules, secure devices from malware. Download this app from Microsoft Store for Windows 10, Windows 10 Mobile, Xbox One. See screenshots, read the latest customer reviews, and compare ratings for Skype. Get Skype, free messaging and video chat app. Conference calls for up to 25 people. Download Skype for Windows, Mac or Linux today.
- Nintendo Switch Eevee Go Cheat Sheet
- Rust Syntax Cheat Sheet
- Golang Cheat Sheet
- Go Cheat Sheet Pdf
- Scrabble Go Cheat Sheet
- Scrabble Go Cheat Sheet
Go: Print with fmt cheat sheet A format specifier is a string that contains the text you want to format plus some placeholders, called verbs, that tell the functions in the fmt package how to format your arguments. This cheat sheet provided basic syntax and methods to help you using Golang. Go is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. Go is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style concurrency. The GoPro camera changes the way people make movies. It’s not only affordable and durable, but also offers features that seemed like far-fetched wish-list items only a few years ago. You can mount this camera on almost anything, take it underwater, and capture the most expansive video scene known to mankind. Okay, that’s a slight. Go 96.3 Cheat Sheet. November 13, 2020 November 13, 2020 Reed 3. New Hobby November! November 1, 2020 November 3, 2020 Reed 0. September 1, 2020.
Display_server_not_supported anydesk.
- PDF Link: cheatsheet-golang-A4.pdf, Category: languages
- Blog URL: https://cheatsheet.dennyzhang.com/cheatsheet-golang-A4
- Related posts: Ruby CheatSheet, Python CheatSheet, #denny-cheatsheets
File me Issues or star this repo.
1.1 Golang Conversion
Name | Comment |
---|
Convert string to int | i, _ := strconv.ParseInt(“12345”, 10, 64) |
Convert string to int | i, err := strconv.Atoi(“-42”) |
Convert string to list | L := strings.Split(“hi,golang”, “”) |
Convert string to []byte | []byte('abcXX') |
Convert string to byte | byte(str1[]) |
Convert byte to string | string(byte('a'))= |
Convert string to float32 | f, _ := strconv.ParseFloat(“3.1415”, 32) |
Convert int to float32 | 0.5*float32(age)+7>= float32(age2) |
Convert int to string | s := strconv.Itoa(-42). Notice: not string(-42) |
Convert rune to string | string(rune1) |
Convert string list to string | strings.Join(list, ', ') |
Convert int list to string | fmt.Sprintf('%s', l) |
Convert list to byte | byteI := byte(65) |
Convert byte to int | int(byte('a')) |
Convert byte to string | string(byte('a')) |
Convert bytes to string | string([]byte('abcXX')) |
Convert int32 to int32 Pointer | func int32Ptr(i int32) *int32 { return &i } |
Convert string[] to string | strings.Join([]string{'a', 'b'}, ',') |
Format string | fmt.Sprintf('%.3f', float64(v)/1000) |
Format string | fmt.Sprintf('At %v, %s', e.When, e.What) |
Format string | fmt.Printf('int: %d, float: %f, bool: %tn', 123, 78.9, true) |
1.2 Deep Dive Into Golang
- Go’s original target was networked system infrastructure, what we now call cloud software
Name | Comment |
---|
Golang goroutine |
How Golang implement defer | Execute a piece of code before a function returns with FILO mechanism |
How Golang implement timer |
Golang for vs loop |
Garbage Colection |
Golang CSP vs Erlang Actor Model | Each actor model, which actor has its own queue |
How Golang channel feature is implement? | YouTube: GopherCon 2017: Understanding Channels, Link: Golang Channel |
Golang return a tuple | func dfs(root *TreeNode, max *float64) (sum int, cnt int) , LeetCode: Maximum Average Subtree |
Use strings.Builder, instead of string | LeetCode: Unique Email Addresses |
Variable Conversion | float64(x_int/y_int) != float64(x_int)/float64(y_int) , LeetCode: Maximum Average Subtree |
For a list of objects, pass by value or reference | f(l []*TreeNode) vs f(l *[]*TreeNode) , LeetCode: Lowest Common Ancestor of a Binary Tree |
1.3 Golang Quality Improvement Tools
Name | Comment |
---|
gosec | Golang security checker, gosec ./.. |
golangci-lint | lint check, golint |
errcheck | errcheck checks that you checked errors, errcheck ./.. |
delve | Delve is a debugger for the Go programming language. |
ginkgo | BDD Testing Framework for Go |
mock | GoMock is a mocking framework for Golang |
envtest | provides libraries for integration testing by starting a local control plane |
go-junit-report | Convert go test output to junit xml |
gocover-cobertura | go tool cover to XML (Cobertura) export tool |
gocovmerge | Merge coverprofile results from multiple go cover runs |
1.4 Golang Dependencies
Name | Comment |
---|
goimports | updates your Go import lines, adding missing ones and removing unreferenced ones |
dep | Go deps, now recommend go modules |
Install go dep | go get -u github.com/golang/dep/cmd/dep |
Go modules | export GO111MODULE=on, go mod download |
Initialize new module in current directory | go mod init XXX |
Download modules to local cache | go mod download |
Add missing and remove unused modules | go mod tidy |
Make vendored copy of dependencies | go mod vendor |
Reference | Link: Using Go Modules |
1.5 Golang Errors
Name | Comment |
---|
… does not support indexing | *variable[0] -> (*variable)[0] |
1.6 Golang Common
Name | Comment |
---|
Upgrade golang to 1.12 in mac | brew upgrade go , go version |
Reference | Link: The Go Programming Language Specification |
1.7 Golang Code Structure & Common Algorithms
Name | Comment |
---|
Online Go Playgroud | https://play.golang.org/ |
One line if statement | if a >= 1 { fmt.Print(“yes”) } |
Declare variables with initializers | var ischecked, v, str = false, 2, “yes!” |
goroutine | Define functions to run as distince subprocesses |
switch | code/example-switch.go |
queue | LeetCode: Number of Recent Calls |
bfs | code/tree-bfs.go |
trie tree | code/tree-trie.go |
1.8 Syntax Sugar: From Python To Golang
Name | Python | Golang |
---|
sum slice | sum([1, 2, 3]) | sum := 0; for i := range nums { sum += nums[i] } |
Get last item | nums[-1] | nums[len(nums)-1] |
For | for i in range(10): | for i := 0; i < 10; i++ |
Loop list | for num in [1, 2] | for num := range[]int{1, 2} { fmt.Print(num) } |
Loop string | for ch in str: | for _, ch := range str { fmt.Print(ch) } |
Iterator | for num in nums: | for _, num := range nums {fmt.Print(num)} |
While | while isOK: | for isOK |
Check ch range | ord(ch) in range(ord('a'), ord('z')+1) | ch >=’a’ && ch <=’z’ |
Get min | min(2, 6, 5) |
Check is nil | root is None | root nil |
Reverse list | nums[::-1] | Need to create your own function. Weird! |
1.9 Surprises In Golang
Name | Comment |
---|
Modulus returns negative numbers | In golang, -3 % 2 -1 |
1.10 Golang Array/List/Slice
Name | Comment |
---|
Make a array | var a [2]string; a[0]=”hello”; a[1]=”world” |
Create array with given values | l := [6]int{2, 3, 7, 5, 11, 13} |
Create array with given values | l := []string{“a”, “c”, “b”, “d”} |
Create dynamically-sized arrays | a := make([]int, 5) |
Create dynamically-sized arrays | a := make([]int, 1, 5) // 5 is capacity |
Sort string array | sort.Strings(l); fmt.Print(l) |
Sort int array | sort.Ints(l) //in-place change |
Golang sort one array by another array | LeetCode: Largest Values From Labels |
Sort in descending order | sort.Sort(sort.Reverse(sort.IntSlice(keys))) |
Append item | l = append(l, “e”) |
Append items | l = append(l, “e”, “b”, “c”) |
Append item to head/prepend | l = append([]string{'a'}, l..) |
Remove last item | l = l[:len(l)-1] |
Remove item by index | l = append(l[0:1], l[2:]..) |
Slices of a array | var l2 = l[1:3] // Notice: it’s a reference |
Copy a list | b := make([]int, len(a)); copy(b, a) |
Join two lists | l1 = append(l1, l2..) |
Use pointer of array list | code/pointer-array.go |
1.11 Golang String
Name | Comment |
---|
Format string | fmt.Sprintf('At %v, %s', e.When, e.What) |
Format string | fmt.Printf('int: %d, float: %f, bool: %tn', 123, 78.9, true) |
Padding zero | fmt.Printf('%02d:%02d', 2, 10) |
Split string | var L = strings.Split('hi,golang', ',') |
Replace string | var str2 = strings.Replace('hi,all', ',', ';', -1) |
Replace string | strings.Replace('aaaa', 'a', 'b', 2) //bbaa |
Split string by separator | strings.Split(path, ' ') |
Count characters | strings.Count('test', 't') |
Substring | strings.Index('test', 'e') |
Join string | strings.Join([]string{'a','b'}, '-') |
Repeat string | strings.Repeat('a', 2) // aa |
Lower string | strings.ToLower('TEST') |
Trim whitespace in two sides | strings.TrimSpace('t Hello world!n ') |
Trim trailing whitespace | strings.TrimRight('t Hello world!n ', 'n ') |
Concact string | fmt.Sprintf('%s%s', str1, str2) |
Reference | Link: package strings |
1.12 Golang Integer/Float
Name | Comment |
---|
Int max | MaxInt32 = 1<<31 – 1 golang math |
Int min | MinInt32 = -1 << 31 golang math |
Pass int as reference | sample code |
1.13 Golang Env
Name | Comment |
---|
GOPATH | It is called as the workspace directory for Go programs |
GOROOT | The location of your Go installation. No need to set any more |
go env | Show a full list of environment variables |
Reference | Link: GOPATH, GOROOT, GOBIN |
1.14 Golang Package management
Name | Comment |
---|
go mod | Link: go modules |
go get fix | GO111MODULE=off go get -fix ./.. |
go mod replace url | go mod edit -replace… |
1.15 Golang Ascii
Name | Comment |
---|
get character ascii | byte('0') |
ascii offset | fmt.Println(string('B' + byte('a')-byte('A'))) |
1.16 Golang Dict/Hashmap/Map
Name | Comment |
---|
Create dict | map[string]int{'a': 1, 'b': 2} |
Create dict | make(map[string]int) |
Check existence | _, ok := m[k] |
Delete key | delete(m, 'k1') |
Create a map of lists | m := make(map[string][]string) |
Get keys of a map | Loop the dictionary and append the key to a list |
Use (x, y) as hashmap key | m[[2]int{2, 2}] = true, code/example-hashmap-arraykey.go |
1.17 Golang Networking
1.18 Golang Goroutines
Name | Comment |
---|
Basic goroutine | code/example-goroutine.go |
1.19 Golang Inteface
Name | Comment |
---|
Hash map with both key and value dynamic | map[interface{}]interface{} |
Define and use interface | code/example-interface.go |
Convert map[interface {}]interface {} to map[string]string | code/interface-conversion.go |
1.20 Golang Files & Folders
Name | Comment |
---|
Read files | code/example-read-file.go |
Write files | code/example-write-file.go |
1.21 Golang Math
Name | Comment |
---|
pow(2, 3) | int(math.Pow(2, 3)) // Default is float64 |
sqrt | math.Sqrt(100) |
Get rand | rand.Intn(100) , rand.Float64() |
Nintendo Switch Eevee Go Cheat Sheet
1.22 Golang Bit Operator & Math
Name | Comment |
---|
Shift left | fmt.Print(1 << 10) // 1024 |
Shift right | fmt.Print(1024 >> 3) // 128 |
Rust Syntax Cheat Sheet
1.23 Golang BBD Testing
Name | Summary |
---|
ginkgo | BDD Testing Framework for Go http://onsi.github.io/ginkgo/ |
Ubuntu install ginkgo | apt-get install golang-ginkgo-dev |
gomega | Ginkgo’s Preferred Matcher Library |
Add tags to tests | // +build availability , go test -v --tags=availability ./test/e2e/.. |
Golang Cheat Sheet
1.24 Golang Misc
Name | Comment |
---|
Golang sleep | time.Sleep(4* time.Second) |
Golang logging | import 'log' , log.Info , log.Print , log.Error(err) |
Golang print function name | runtime.Callers |
1.25 More Resources
License: Code is licensed under MIT License.
Flashing lights - police, firefighting, emergency services simulator.
Common Data Structure Operations
Go Cheat Sheet Pdf
Data Structure | Time Complexity | Space Complexity |
---|
Average | Worst | Worst |
---|
Access | Search | Insertion | Deletion | Access | Search | Insertion | Deletion |
---|
Array | Θ(1) | Θ(n) | Θ(n) | Θ(n) | O(1) | O(n) | O(n) | O(n) | O(n) |
Stack | Θ(n) | Θ(n) | Θ(1) | Θ(1) | O(n) | O(n) | O(1) | O(1) | O(n) |
Queue | Θ(n) | Θ(n) | Θ(1) | Θ(1) | O(n) | O(n) | O(1) | O(1) | O(n) |
Singly-Linked List | Θ(n) | Θ(n) | Θ(1) | Θ(1) | O(n) | O(n) | O(1) | O(1) | O(n) |
Doubly-Linked List | Θ(n) | Θ(n) | Θ(1) | Θ(1) | O(n) | O(n) | O(1) | O(1) | O(n) |
Skip List | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | O(n) | O(n) | O(n) | O(n) | O(n log(n)) |
Hash Table | N/A | Θ(1) | Θ(1) | Θ(1) | N/A | O(n) | O(n) | O(n) | O(n) |
Binary Search Tree | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | O(n) | O(n) | O(n) | O(n) | O(n) |
Cartesian Tree | N/A | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | N/A | O(n) | O(n) | O(n) | O(n) |
B-Tree | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | O(log(n)) | O(log(n)) | O(log(n)) | O(log(n)) | O(n) |
Red-Black Tree | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | O(log(n)) | O(log(n)) | O(log(n)) | O(log(n)) | O(n) |
Splay Tree | N/A | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | N/A | O(log(n)) | O(log(n)) | O(log(n)) | O(n) |
AVL Tree | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | O(log(n)) | O(log(n)) | O(log(n)) | O(log(n)) | O(n) |
KD Tree | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | Θ(log(n)) | O(n) | O(n) | O(n) | O(n) | O(n) |
Scrabble Go Cheat Sheet
Array Sorting Algorithms
Scrabble Go Cheat Sheet
Algorithm | Time Complexity | Space Complexity |
---|
Best | Average | Worst | Worst |
---|
Quicksort | Ω(n log(n)) | Θ(n log(n)) | O(n^2) | O(log(n)) |
Mergesort | Ω(n log(n)) | Θ(n log(n)) | O(n log(n)) | O(n) |
Timsort | Ω(n) | Θ(n log(n)) | O(n log(n)) | O(n) |
Heapsort | Ω(n log(n)) | Θ(n log(n)) | O(n log(n)) | O(1) |
Bubble Sort | Ω(n) | Θ(n^2) | O(n^2) | O(1) |
Insertion Sort | Ω(n) | Θ(n^2) | O(n^2) | O(1) |
Selection Sort | Ω(n^2) | Θ(n^2) | O(n^2) | O(1) |
Tree Sort | Ω(n log(n)) | Θ(n log(n)) | O(n^2) | O(n) |
Shell Sort | Ω(n log(n)) | Θ(n(log(n))^2) | O(n(log(n))^2) | O(1) |
Bucket Sort | Ω(n+k) | Θ(n+k) | O(n^2) | O(n) |
Radix Sort | Ω(nk) | Θ(nk) | O(nk) | O(n+k) |
Counting Sort | Ω(n+k) | Θ(n+k) | O(n+k) | O(k) |
Cubesort | Ω(n) | Θ(n log(n)) | O(n log(n)) | O(n) |