‹ 返回笔记 Esc·

Go 问题与修复

补充说明 Pointer(指针) Slice(切片) Interface(接口) Channel(通道) goto const 第一阶段 先学: Gin GORM Viper Zap 这是最主流组合。…

补充说明

Pointer(指针)

Slice(切片)

Interface(接口)

Channel(通道)

goto

const

第一阶段

先学:

  • Gin
  • GORM
  • Viper
  • Zap

这是最主流组合。


第二阶段

理解:

  • Context
  • Middleware
  • Interface
  • Goroutine
  • Channel

这是 Go 真正核心。


内置函数

Go Java
len() size()/length()
make() new ArrayList()/HashMap()
append() add()
delete() remove()
panic() throw
recover() catch
new() new
copy() System.arraycopy()
close() 无直接对应
  1. len
1s := []string{"a", "b", "c"}
2
3println(len(s))
  1. cap
1s := make([]int, 3, 10)
2
3println(cap(s))

package main 和 func main 缺一不可

必须同时满足:

1package main
2
3func main() {
4
5}

package 名定义

package 名通常与目录名一致。虽然不是强制的。

同一个目录必须属于同一个 package

很多 Java 人会下意识这样想:

1User.java
2
3User 类

Go 不是:

1user.go
2
3package user

而是:

1整个目录
2
3package user