最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解用Go語(yǔ)言實(shí)現(xiàn)工廠模式(Golang經(jīng)典編程案例)

 更新時(shí)間:2021年04月17日 10:17:27   作者:cui_yonghua  
這篇文章主要介紹了詳解用Go語(yǔ)言實(shí)現(xiàn)工廠模式(Golang經(jīng)典編程案例),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

golang中的struct沒(méi)有構(gòu)造函數(shù),一般可以使用工廠模式來(lái)解決這個(gè)問(wèn)題。這個(gè)模式本身很簡(jiǎn)單而且使用在業(yè)務(wù)較簡(jiǎn)單的情況下。一般用于小項(xiàng)目或者具體產(chǎn)品很少擴(kuò)展的情況(這樣工廠類(lèi)才不用經(jīng)常更改)。

代碼結(jié)構(gòu)如下:分別有main.go和student.go兩個(gè)文件。

在這里插入圖片描述

在student.go中:

package model

//定義一個(gè)結(jié)構(gòu)體
type student struct{
	Name string
	score float64
}

//因?yàn)閟tudent結(jié)構(gòu)體首字母是小寫(xiě),因此是只能在model使用
//我們通過(guò)工廠模式來(lái)解決r
func NewStudent(n string, s float64) *student {
	return &student{
		Name : n,
		score : s,
	}
}

//如果score字段首字母小寫(xiě),則,在其它包不可以直接方法,我們可以提供一個(gè)方法
func (s *student) GetScore() float64{
	return s.score //ok
}

在main.go中:

package main

import (
	"fmt"
	"factory/model"
)

func main() {
	//創(chuàng)建要給Student實(shí)例
	// var stu = model.Student{
	// 	Name :"tom",
	// 	Score : 78.9,
	// }

	//定student結(jié)構(gòu)體是首字母小寫(xiě),我們可以通過(guò)工廠模式來(lái)解決
	var stu = model.NewStudent("tom~", 98.8)

	fmt.Println(*stu) //&{....}
	fmt.Println("name=", stu.Name, " score=", stu.GetScore())
}

執(zhí)行結(jié)果如下圖所示:

在這里插入圖片描述

到此這篇關(guān)于詳解用Go語(yǔ)言實(shí)現(xiàn)工廠模式(Golang經(jīng)典編程案例)的文章就介紹到這了,更多相關(guān)Go語(yǔ)言工廠模式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入了解Golang網(wǎng)絡(luò)編程N(yùn)et包的使用

    深入了解Golang網(wǎng)絡(luò)編程N(yùn)et包的使用

    net包主要是增加?context?控制,封裝了一些不同的連接類(lèi)型以及DNS?查找等等,同時(shí)在有需要的地方引入?goroutine?提高處理效率。本文主要和大家分享下在Go中網(wǎng)絡(luò)編程的實(shí)現(xiàn),需要的可以參考一下
    2022-07-07
  • go語(yǔ)言中使用timer的常用方式

    go語(yǔ)言中使用timer的常用方式

    這篇文章主要介紹了go語(yǔ)言中使用timer的常用方式,實(shí)例分析了三種常用的使用timer的方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • Golang在整潔架構(gòu)基礎(chǔ)上實(shí)現(xiàn)事務(wù)操作

    Golang在整潔架構(gòu)基礎(chǔ)上實(shí)現(xiàn)事務(wù)操作

    這篇文章在 go-kratos 官方的 layout 項(xiàng)目的整潔架構(gòu)基礎(chǔ)上,實(shí)現(xiàn)優(yōu)雅的數(shù)據(jù)庫(kù)事務(wù)操作,需要的朋友可以參考下
    2024-08-08
  • 在Go程序中實(shí)現(xiàn)服務(wù)器重啟的方法

    在Go程序中實(shí)現(xiàn)服務(wù)器重啟的方法

    這篇文章主要介紹了在Go程序中實(shí)現(xiàn)服務(wù)器重啟的方法,由于很多人盲目崇拜谷歌"親爹",Go語(yǔ)言在國(guó)內(nèi)有著不尋常的人氣,需要的朋友可以參考下
    2015-06-06
  • 簡(jiǎn)單了解Go語(yǔ)言中函數(shù)作為值以及函數(shù)閉包的使用

    簡(jiǎn)單了解Go語(yǔ)言中函數(shù)作為值以及函數(shù)閉包的使用

    這篇文章主要介紹了簡(jiǎn)單了解Go語(yǔ)言中函數(shù)作為值以及函數(shù)閉包的使用,是golang入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-10-10
  • 一文了解Go 并發(fā)與并行

    一文了解Go 并發(fā)與并行

    并發(fā)性和并行性是是兩個(gè)既有聯(lián)系又有所區(qū)別的概念,本文主要介紹了Go并發(fā)與并行,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • Golang實(shí)現(xiàn)http server提供壓縮文件下載功能

    Golang實(shí)現(xiàn)http server提供壓縮文件下載功能

    這篇文章主要介紹了Golang實(shí)現(xiàn)http server提供壓縮文件下載功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • go語(yǔ)言的工作空間和GOPATH環(huán)境變量介紹

    go語(yǔ)言的工作空間和GOPATH環(huán)境變量介紹

    這篇文章主要介紹了go語(yǔ)言的工作空間和GOPATH環(huán)境變量介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • GO語(yǔ)言獲取系統(tǒng)環(huán)境變量的方法

    GO語(yǔ)言獲取系統(tǒng)環(huán)境變量的方法

    這篇文章主要介紹了GO語(yǔ)言獲取系統(tǒng)環(huán)境變量的方法,實(shí)例分析了Getenv方法操作環(huán)境變量的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • Golang實(shí)現(xiàn)IO操作

    Golang實(shí)現(xiàn)IO操作

    本文主要介紹了Golang實(shí)現(xiàn)IO操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05

最新評(píng)論

民和| 青铜峡市| 南昌市| 泌阳县| 镇坪县| 乐至县| 青海省| 原平市| 太仓市| 永丰县| 莒南县| 罗江县| 长沙县| 桑植县| 宁阳县| 宝清县| 外汇| 历史| 永平县| 县级市| 中山市| 万年县| 娄烦县| 青海省| 衡阳市| 河间市| 玉门市| 浙江省| 四平市| 敦化市| 沾益县| 乐亭县| 平远县| 长白| 广汉市| 阳谷县| 如东县| 凌云县| 朝阳区| 崇左市| 澳门|