原创 go語言基礎 利用遞歸遍歷文件夾

我們可以利用遞歸和ioutil.ReadDir(遍歷當前所有文件),IsDir(判斷是否是目錄)方法,來遍歷整個文件夾package main import ( "io/ioutil" "fmt" ) func main(

原创 go語言基礎 錯誤 error

錯誤error 表示程序中的錯誤。 用法:用於函數多返回值。func 函數名(參數列表)(返回值,error){}xx,err:=函數名()if err == nil,函數執行無誤,結果有效,可以繼續向下執行else err != nil

原创 go語言基礎 空接口

空接口:一個接口中沒有任何的方法。    任意的對象都可以是該接口的實現類。空接口類型的數組:    那麼該數組中就可以存儲任意類型的數據。空接口作爲參數:可以傳入任意類型的數據。package main import "fmt" /

原创 go語言基礎 多態

多態:定義一個接口類型,但是可以創建任意的實現類的對象。直接上代碼舉例說明package main import "fmt" type Run interface { run() } type Runner struct {

原创 go語言基礎 方法的繼承

方法繼承 子類和父類的關係。 子類對象可以直接訪問父類的屬性和方法 子類可以新增自己的屬性和方法。 子類可以重寫父類已有的方法。package main import ( "fmt" "math" ) //1.定義Anim

原创 go 語言基礎 字符串string與其他類型轉換 strconv包

strconv包下有一些可以轉換類型的函數,以後遇到類型不匹配,可以直接調包,用來轉換類型,接下來我就來介紹一下常用的字符串和基本類型之間的轉換 int,uint,float,bool = XXX string-->基本類型 strco

原创 go語言基礎 方法 method

方法:規定對象的行爲的。對象的行爲功能。func (r recver) 方法名(參數列表) (返回值類型){....}函數:一段獨立的功能,可以被直接調用func 函數名(參數列表)(返回值類型){....}函數名(實際參數)r.方法名(

原创 go語言基礎 接口 interface

接口:interface 表示一個約定,契約,都是功能的描述(方法的聲明) 語法:一個或多個方法的聲明的集合。不能有實現,不能有字段。實現類:可以是任意類型 只需要將接口中方法都實現,那麼就是實現該接口。type A interface{

原创 go語言基礎 數學包 math

介紹幾個math包下常用的方法,知道這些方法後以後就不用自己去實現,直接調用就好package main import ( "fmt" "math" ) func main() { /* math包:

原创 go語言基礎 文件拷貝 copy io包

io包下有個方法copy,拷貝文件這個比較複雜,go語言中有個更加簡單的方法,這個就瞭解下複製的過程就可以了package main import ( "fmt" "os" "io" ) func main() {

原创 go 語言基礎 進程Process 線程Thread 協程Goroutine

進程,Process何爲進程,簡單來講進程就是我們計算機裏啓動的程序,每啓動一個程序,就啓動了一條進程如圖片所示,這個叫活動監視器,後面還有個括號,寫着所有進程,所以這些程序就是所謂的進程,如果進程結束,那麼所有線程,協程也都會結束那我們

原创 go語言基礎 恐慌和恢復 panic和recover

panic和recover panic(),恐慌,直接打斷程序的正常執行。。。 recover(),恢復,會在函數中捕獲panic()然後跳過panic執行下面的程序 必須在defer的函數中使用recoverpackage main

原创 go語言基礎 同步等待組 sync.WaitGroup

爲了能讓子Goroutine執行完畢之後,主程序在結束,我們可以給利用sync.WaitGroup方法,這樣就主程序就不會提前結束了。package main import ( "fmt" "sync" ) var wg s

原创 go語言 defer 延遲關鍵字

defer  延遲 延遲執行,函數,方法 如果有多個延遲,按照後進先出的規則: 先延遲的後執行,後延遲的先執行 package main import "fmt" func main(){// 程序的入口 /* defer,延遲,等到

原创 go語言基礎 併發

.併發性、並行性 Concurrency併發性 同時可以執行多條路徑,但是同一時間點上,只能執行1個。 parallelism並行性 多條路徑同時執行