## 一、定義

## 二、實例
~~~
package main
import "fmt"
// 結構體
type User struct {
Id int
Name string
Sex byte
Age int
addr string
}
func main() {
// 1、順序初始化
var s1 User = User{Id:1,Name: "aa",Sex: 'd',Age: 2,addr: "llll"}
fmt.Println(s1)
s2 := User{Id:2,Name: "bb",Sex: 'b',Age: 22,addr: "bbbbb"}
fmt.Println(s2)
// 2、結構體作為指針變量初始化
var s3 *User = &User{Id:3,Name: "cc",Sex: 'c',Age: 22,addr: "cccccccc"}
var s4 = &User{Id:4,Name: "dd",Sex: 'd',Age: 22,addr: "dddddddddddddd"}
fmt.Println(s3)
fmt.Println(s4)
// 指針取值
fmt.Println((*s3).Id)
fmt.Println(s3.Id) // 會先判斷傳的是值還是指針類型,如果是指針類型,go的內部會將 s3.Id 替換成 (*s3).Id
}
~~~
- 一、數組
- 二、切片
- 三、copy
- 四、MAP
- 五、結構體
- 六、結構體參數
- 七、面向”對象“
- 1、匿名字段
- 2、方法
- 3、包和封裝
- 4、接口
- 5、異常處理
- 八、Json
- 九、文件操作
- 1、寫文件
- 2、讀取文件內容
- 3、拷貝文件
- 十、反射
- 1、查看類型,字段和方法
- 2、查看匿名字段
- 3、修改基本類型的值
- 4、修改結構體的值
- 5、調用方法
- 十一、并發編程
- 1、并行和并發
- 2、協程
- 3、runtime包
- 5、channel的使用
- 6、close
- 7、定時器
- 8、select
- 9、協程同步鎖
- 十二、socket編程
- 十三、Http編程
- 十四、并發爬蟲和數據處理
- 1、簡易爬蟲實例
- 2、并發爬取圖片
- 3、讀文件中的數據
- 4、數據清洗
- 其他
- 1、推薦文章