成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Golang模塊級私有包(Internal Package Mechanism)詳解

開發 前端
本文介紹了Internal包的作用和使用場景,一定要親手寫代碼體會一下其使用方法和使用場景。

引言

熟悉Golang的同學應該都知道Golang的包機制,一個包中的程序實體有兩種訪問權限:可導出(其他包可以訪問)和不可導出(其他包不能訪問,包內可訪問)。

但是這兩種訪問權限并不能滿足所有的場景,例如組織WEB項目目錄結構的場景。組織WEB項目目錄結構的典型場景如下:一般把項目中處理業務邏輯的部分放在一起(分為三層,分別是接口表示層(api)、業務邏輯層(bll),數據訪問層(dal)),不希望其他部分代碼訪問業務邏輯部分的代碼,而允許業務邏輯部分代碼訪問其他部分代碼,這樣嚴格分為業務邏輯部分和非業務邏輯部分,結構清晰,方便維護。要從根本上防止其他部分代碼不能訪問業務邏輯部分的代碼一般語言都沒有提供這種機制,Golang從1.4引入的內部包機制(將包命名為internal)就可以實現這一點。

什么是內部包(Internal packages)?

內部包就是將代碼放在名為internal的目錄或名為internal的目錄的子目錄中。有以下特點:

  • /a/b/c/internal/d/e/f目錄中的代碼只能被/a/b/c目錄中代碼(文件或子目錄中代碼)導入,而不能被/a/b/g目錄下的代碼導入;
  • $GOROOT/src/pkg/internal/xxx只能被$GOROOT/src/目錄中代碼導入(文件或子目錄中代碼);
  • $GOROOT/src/pkg/net/http/internal只能被net/http和net/http/* 導入;
  • $GOPATH/src/mypkg/internal/foo只能被$GOPATH/src/mypkg目錄中的代碼導入(文件或子目錄中代碼)。

示例說明

以如下目錄結構為例說明:

├── pkg1
│   ├── internal
│   │   ├── sub2
│   │       └── sub2.go
│   │   └── test1.go
│   │
│   ├── sub1
│   │   └── test2.go
│   └── pkg1.go
├── pkg2
│   └── pkg2.go
└── main.go

可以導入internal包的代碼:test2.go、pkg1.go和sub2.go,不能導入internal包的代碼:main.go和pkg2.go。

可以導入sub2包的代碼:test2.go、pkg1.go和test1.go,不能導入sub2包的代碼:main.go和pkg2.go。

小結

本文介紹了internal包的作用和使用場景,一定要親手寫代碼體會一下其使用方法和使用場景。

責任編輯:姜華 來源: 今日頭條
相關推薦

2023-10-24 16:03:34

GoGolang

2023-05-12 09:40:53

ContextGolang

2023-08-03 08:48:07

Golang接口

2023-11-27 15:02:37

BytesGolang

2023-08-02 09:07:27

Golangio 包

2023-10-18 08:22:38

BufioGolang

2023-08-31 09:28:12

Golang可導出函數

2023-09-06 09:10:04

Golang字符串

2023-11-07 09:02:07

Golangbytes

2023-09-07 07:35:54

GolangBufio

2023-09-04 08:17:37

Golangstrings 包

2023-08-28 17:16:51

Golangio 包

2023-09-05 08:22:44

Golangstrings 包

2024-01-18 09:07:04

Errors函數Golang

2023-10-10 08:57:44

Golangbufio

2023-05-15 08:50:58

ContextGolang

2023-11-03 08:53:15

StrconvGolang

2023-10-07 09:08:32

Golangbufio

2023-08-08 14:51:29

2023-07-05 08:38:48

GolangGo語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品国产自产拍高清 | 国产福利在线看 | 国产一区二区在线看 | 久久久www | 欧美综合久久 | 亚洲国产成人精品女人 | 一级特黄网站 | 一区二区三区av | 久久亚洲二区 | 91 久久 | 亚洲精品在线看 | 亚洲综合色自拍一区 | 凹凸日日摸日日碰夜夜 | 一区二区三区在线电影 | 亚洲成人精品在线观看 | 蜜桃av一区二区三区 | 国产精品www | 一级片网站视频 | 亚洲一区二区三区在线观看免费 | 男人视频网站 | 国产毛片av | 在线免费观看a级片 | 欧美一级视频在线观看 | 99热在这里只有精品 | 色狠狠一区 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 国产www在线 | 亚洲一区二区精品视频 | 中文字幕一二三 | 一区二区三区回区在观看免费视频 | 精品一区av| 精品成人一区 | 国产精品一区二区三区四区 | 在线中文字幕av | 亚洲成人一区二区三区 | 91在线看| 在线视频一区二区 | 成人免费xxxxx在线视频 | 午夜免费视频 | 日韩精品一区二区三区中文在线 | 成年人在线观看 |