learngo

Go语言学习(适合初学者入坑)

Stars
11

Go

Golang

**1. **

  • charrune

**2. **

  • bool, string
  • (u)int, (u)int8, (u)int16, (u)int32, (u)int64, uintptr()
  • byte, rune(char32int32)
  • float32, float64, complex64, complex128(12864)

Golang12


  • for, if
  • if
  • while
  • switchbreakswitch

Golang

**1. **

**2. **

  • cpp&
  • pythonjava
  • go

Golang

**1. **

  • [10]int[20]int
  • func f(arr [10]int)
  • go

**2. **

3. Map

  • map
    • make(map[string]int)
    • m[key]
    • keyValue
    • value, ok:=m[key]key
    • deletekey
    • len
  • map
    • rangekeykey-value
    • key
  • mapkey
    • map
    • slicemapfunctionkey
    • Structkey

4. runegochar

  • rangepos-rune
  • utf8.RuneCountInString
  • len
  • []byte

Golang12

1. Go

  • go
  • gostructclass

2. struct

  • cpp
  • java
  • go

**3. vs **

  • go//

**4. **

  • CamelCase
  • public
  • private
  • (package)

**5. **

  • mainmainmain

**6. **

Golang

1. goduck typing

  • pythoncppduck typing
  • java

2. ?

**3. **

Golang

**1. vs **

  • ->

**2. **

  • go

3. go

  • lambda

Golanggoroutine

1. Coroutine

  • //

2. goroutine

  • go
  • -race

3. goroutine

  • I/O, select, channel
  • runtime.Gosched()

Golangchannel

1. GroutinechannelsCSP(Communicating Sequential Processes)

2. channlesgoroutine

3. channel

  • goroutine
  • goroutine
  • FIFO(buffered channel)
  • goroutine block/unblock