2 14 Go之封裝簡介以及實現細節

2022-09-27 11:48:09 字數 1350 閱讀 5868

go語言的封裝和j**a類似,就是把對結構體欄位操作的方法和結構體封裝在乙個.go檔案中。資料被保護在內部,程式的其它包只能通過被授權的方法,才能對欄位進行操作。

封裝的好處:

**示例

新建員工結構體:

/* 新建乙個員工資料結構體 */

type person struct

提供結構體建構函式:

/* 工廠模式函式,相當於建構函式,返回結構的指標物件 */

func newperson(name string) *person

}

提供屬性的getset方法:

/* 給person結構體的屬性提供get和set方法 */

func (p *person) setage(age int) error else

return nil}​

func (p *person) getage() int

​func (p *person) setsalary(sal float64) error else

return nil}​

func (p *person) getsalary() float64

完整**:

package model

​import "errors"

​/* 新建乙個員工資料結構體 */

type person struct

​/* 工廠模式函式,相當於建構函式,返回結構的指標物件 */

func newperson(name string) *person }​

/* 給person結構體的屬性提供get和set方法 */

func (p *person) setage(age int) error else

return nil}​

func (p *person) getage() int

​func (p *person) setsalary(sal float64) error else

return nil}​

func (p *person) getsalary() float64

在main目錄下進行呼叫

package main

​import (

"gopracticepakage/practice_pakage/model"

"fmt")​

func main()

Go之路之go語言結構

package main 定義了包名,必須在原始檔中非注釋的第一行指名這個檔案屬於哪個包,每個go應用程式都包含乙個名為main的包 import fmt 告訴go編譯器這個程式需要使用fmt包,fmt包含了格式化i o的函式 func main 需要注意 在go程式中,一行代表乙個語句的結束,結尾...

vue之better scroll詳解及封裝

在我們的h5或移動端網頁開發中,常常會需要實現滾動載入資料,等需求,而在開發中原生開發往往會帶來意想不到的問題,因此我們引入better scroll來幫我們實現流暢的滾動效果。better scroll 是乙個移動端滾動的解決方案,它是基於 iscroll 的重寫,它和 iscroll 的主要區別...

python反爬之封IP

requests是第三方庫,需要安裝 pip install requests import requests 在日常的爬蟲中,封ip也是乙個很常用的反爬蟲手段,遇到這種情況,我們只需要在每次請求的時候為每個請求指定乙個ip位址即可 url 這裡指定ip,當然這只是個示範,獲取 ip有這幾個途徑 付...