go語言聖經-介面
1.介面型別是對其它型別行為的抽象和概括
2.go語言中介面型別的獨特之處在於它是滿足隱式實現的
3.go語言中還存在著另外一種型別:介面型別。介面型別是一種抽象的型別
4.乙個型別可以自由的使用另乙個滿足相同介面的型別來進行替換被稱作可替換性(lsp黎克特制替換)
練習 7.1: 使用來自bytecounter的思路,實現乙個針對對單詞和行數的計數器。你會發現bufio.scanwords非常的有用。
package mainimport (
"bufio"
"fmt"
"strings"
)func main()
/*練習 7.1: 使用來自bytecounter的思路,實現乙個針對對單詞和行數的計數器。你會發現bufio.scanwords非常的有用。
*/type bytecounter int
func (c *bytecounter) write(p byte) (int, error)
//定義型別
type wordscounter int
//滿足相同介面的型別
func (w *wordscounter) write(p byte) (int, error)
*w = wordscounter(sum)
return sum, nil
}
日常 Go語言聖經 介面約定習題
go語言聖經 介面 1.介面型別是對其它型別行為的抽象和概括 2.go語言中介面型別的獨特之處在於它是滿足隱式實現的 3.go語言中還存在著另外一種型別 介面型別。介面型別是一種抽象的型別 4.乙個型別可以自由的使用另乙個滿足相同介面的型別來進行替換被稱作可替換性 lsp黎克特制替換 練習 7.1 ...
日常 Go語言聖經 Map習題
練習 4.8 修改charcount程式,使用unicode.isletter等相關的函式,統計字母 數字等unicode中不同的字元類別。練習 4.9 編寫乙個程式wordfreq程式,報告輸入文字中每個單詞出現的頻率。在第一次呼叫scan前先呼叫input.split bufio.scanwor...
日常 Go語言聖經 匿名函式習題
go語言聖經 匿名函式 1.擁有函式名的函式只能在包級語法塊中被宣告,通過函式字面量 function literal 我們可繞過這一限制,在任何表示式中表示乙個函式值 2.通過這種方式定義的函式可以訪問完整的詞法環境 lexical environment 這意味著在函式中定義的內部函式可以引用該...