別名 對象,類似其他語言面向對象
與傳統面向對象變成比,沒有傳統意義上的繼承、方法重載、構造和析構函數、this指針
golang:有繼承、封裝,多態;繼承通過匿名字段實現。
若子結構體與父結構體不存在相同的屬性或方法,則可簡寫忽略子結構體名
如u`ser.admin.auth`可以寫為`user.auth`
> 創建結構體的方法
```
package main
import (
? ? "fmt"
)
type user struct {
? ? Age ?int
? ? Name string
}
func (u user) toString() {
? ? fmt.Printf("Name=%s Age=%d\\n", u.Name, u.Age)
}
func main() {
? ? u1 := user{
? ? ? ? Age: ?100,
? ? ? ? Name: "u1",
? ? }
? ? u1.toString()
? ? u2 := user{100, "u2"}//需要按順序
? ? u2.toString()
? ? u3 := &user{
? ? ? ? Age: ?100,
? ? ? ? Name: "u3",
? ? }
? ? u3.toString()
? ? u4 := &user{50, "u4"}
? ? u4.toString()
}
```
- 數據類型
- 數組array
- 切片slice
- 字符串string
- map
- 結構體struct
- 方法func
- 匿名結構體(繼承)
- 字段別名
- 接口interface
- 常量
- 基礎語法
- 循環for
- 遍歷
- 函數func
- defer
- 異常處理error
- 訪問范圍
- 包
- 類型斷言
- 文件
- 打開文件
- 讀取文件
- 寫文件
- 判斷是否存在
- 拷貝文件
- JSON
- 序列化
- 反序列化
- 命令行
- 雜項
- Windows下配置加速
- 相關鏈接
- 占位符
- 隨機數rand
- 單元測試
- goroutine
- 并發和并行
- 協程和主線程
- MPG模式
- 設置CPU數量
- 全局互斥鎖
- 管道
- 示例1
- 示例2
- select
- 異常捕獲
- 反射
- 示例
- 示例-改變值
- 網絡編程
- TCP編程
- 示例一
- redis