To live is to risk it at all.生活就是要敢於冒險。
引言
Go中的接口是隱式實現的。只要實現了接口中定義的所有方法,也就實現了該接口。接口可以接收任何類型的變量。比如常用的fmt.Println(a ...interface{}) (n int, err error)方法,這個方法中參數是接口類型,可以把任意的類型值傳給它。
下面用兩種方法實現字符串中單詞的個數計數器,主要是在於理解接口的實際使用方法。
方法一
該方法主要是使用標準庫中的bufio.ScanWords(),它的算法實現思路是這樣的,假設字符串" a b",這個字符串的長度是4,首先排除開頭空格,然後用之前單詞的寬度加切片索引依次截取。
方法二
該方法主要使用bufio.ReadBytes()方法,依次讀取字節切片,直到遇到指定的字符為止。
主函數
當然,實現的方式會有很多種,在這裡記下這兩種,以備參考。