go语言buffio与继承
生活随笔
收集整理的這篇文章主要介紹了
go语言buffio与继承
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
buffio比較簡單,主要就是對Io一類的操作,第一個例子中順帶加上了go語言中繼承的實現,因為go不是面相對象的語言,更準確的來說是面相接口編程的語言,因此繼承的實現其實就是將另外一個結構體合并到自己的結構體中,
package mainimport ("bufio""fmt""os" )type animal struct {eye intfoot int }type dog struct {animal // 對animal實現繼承watch string }func (a *animal) animalInit() error {return nil }func (d *dog) Watch() error {fmt.Printf("%s\n", d.watch)return nil }func main() {fileName := "test.jpeg"fmt.Println(fileName)// 打開一個文件file, err := os.Open(fileName)if err != nil {fmt.Println(err)return}// 函數退出之前會調用defer函數defer file.Close()// 創建reader對象,用于從文件中讀取數據b1 := bufio.NewReader(file)p := make([]byte, 1024)n1, err := b1.Read(p)fmt.Println(n1)fmt.Println(string(p[:n1]))var aDog dogaDog.eye = 2aDog.watch = "wang wang"aDog.foot = 4_ = aDog.Watch() } package mainimport ("bufio""fmt""io""log""os" )func main() {fileName := "conf.ini"file, err := os.Open(fileName)if err != nil {fmt.Println(err)return}defer file.Close()// 創建reader對象fileReader := bufio.NewReader(file)// 這里可以加個for循環,知道err == io.EOF跳出循環fileBuff, isPrefix, err := fileReader.ReadLine()if err != nil {if err != io.EOF {log.Fatal(err)}}fmt.Println(string(fileBuff), isPrefix, err) }總結
以上是生活随笔為你收集整理的go语言buffio与继承的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 作者:聂敏,男,电子科技大学教育大数据研
- 下一篇: go语言中channel的创建和销毁以及