Introduction
之前執行程序都是go build命令編譯成exe格式,不帶參數直接執行
但在線上開發業務時必須帶參數(指定配置文件等操作)
Golang物件導向初識-day21-讀寫文件
終端讀寫
之前常使用的fmt包,就是操作終端的代表
操作終端相關文件句柄常量
os.Stdin:標準輸入
os.Stdout:標準輸出
os.Stderr:標準錯誤輸出
Golang物件導向初識-day20-反射(reflect)
Introduction
反射,是指電腦程序在運行時(Run Time)可以訪問、檢測和修改它本身狀態或行為的一種能力。
程序在運行時能夠觀察並修改自己的行為
可以在運行時動態的獲取變量的相關信息,包括類型與值
在Golang中有提供官方的package可實現反射
主要有兩個函數
reflect.TypeOf:獲取變量的類型,返回reflect.Type類型
reflect.ValueOf:獲取變量的值,返回reflect.Value類型
reflect.Value.Kind:可以獲取變量的類別,返回一個常量
reflect.Value.Interface{}:轉換成interface{}(空接口)類型
Golang物件導向初識-day18-接口(interface)
實現 String()方法如果一個變量實現了String()這個方法,那麼fmt.Printf默認會調用這個變量的String()進行輸出
Golang物件導向初識-day17-結構體方法2
方法
結構體(struct)可認為是其他語言的類(class),亦可定義適用於此結構體的方法
Golang中的方法是作用在特定類型的變量上
方法仍是透過方法名的大小寫來決定外部是否能調用,小寫的方法名為私有方法
Golang物件導向初識-day16-結構體方法1
定義類型的別名
結構體是用戶單獨定義的類型,不能和其他Go內置類型進行強制轉換(如int,string等)
類型仍可透過type重新命名(別名),但是與原類型為不同類型1234type 原類型 類型別名type integer inttype stu Student
在定義struct的別名時,即使內部的字段(屬性)都相同,別名類型與原類型仍為不同類型
因此不同類型之間不能賦值也不能運算
若要是進行賦值及運算則必須強制轉換
Golang資料結構-day15-二元樹(binary tree)
introduction結構體會有一些自己的字段(屬性)但單一節點中定有兩個為自身指針類型的字段,分別指向左子樹及右子樹
最上方的節點稱為根節點
最下方未在指向任何節點的節點,稱為葉節點
Golang資料結構-day14-鏈表(Linked list)
introduction
結構體會有一些自己的字段,但其中有一個字段,是指向自己結構體類型的指針類型
使用此結構體做為類型的變量,被稱為節點
每個節點包含下一個節點的地址,這樣可把所有的節點都串起來
通常鏈表中的第一個節點被叫做鏈表頭https://zh.wikipedia.org/wiki/%E9%93%BE%E8%A1%A8
Go初識-day13-包(package)、線程同步(sync)與atomic操作
包 (package)
Golang目前約有150個標準包
官網有所有package的文檔 https://golang.org/pkg/
第三方package的資源多位於github