Môi trường: Phiên bản Go Lang 1.20.2 , Windows 11 x64
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | cd /d D: mkdir temp2023_03_04_learn_go cd temp2023_03_04_learn_go go mod init github.com/donhuvy/vy_golang_foo del go.mod mkdir foo mkdir bar dir cd foo go mod init github.com/donhuvy/vy_golang_foo cd .. cd bar go mod init github.com/donhuvy/vy_golang_bar cd .. tree /f D:temp2023_03_04_learn_go>tree /f Folder PATH listing for volume New Volume Volume serial number is 64DB-B8FB D:. ├───bar │ go.mod │ └───foo go.mod cd foo git init git remote add origin https://github.com/donhuvy/vy_golang_foo.git git branch -M main git add go.mod git commit -m"Upload" git push -u origin main cd .. cd bar git init git remote add origin https://github.com/donhuvy/vy_golang_bar.git git branch -M main git add go.mod git commit -m"Upload" git push -u origin main |
Dùng CMD, gõ ...
(3 chấm), nhấn Enter, Tạo file _netrc, có thể add nhiều tài khoản Git (GitHub, GitLab, BitBucket,..)
1 2 3 4 5 6 7 | machine gitlab.com login donhuvy@outlook.com password glpat-QEXYf9JnSotNokQj0fBL machine gitcom.com login donhuvy@outlook.com password ghpat-QEXYf9JnSotNokQj0fBL |
Xem thêm tại https://stackoverflow.com/a/6031266
Tạo mật khẩu (mã thông báo, không phải mật khẩu đơn giản): Truy cập https://github.com/settings/tokens . Chọn Mã thông báo truy cập cá nhân, Mã thông báo (cổ điển)
Tạo 2 kho git riêng:
Tập tin main.go
1 2 3 4 5 6 7 8 9 10 11 | <span class="token keyword">package</span> main <span class="token keyword">import</span> <span class="token string">"time"</span> <span class="token keyword">type</span> Employee <span class="token keyword">struct</span> <span class="token punctuation">{</span> firstName <span class="token builtin">string</span> middleName <span class="token builtin">string</span> lastName <span class="token builtin">string</span> dateOfBirth time <span class="token punctuation">.</span> Time <span class="token punctuation">}</span> |
Đặt biến môi trường: GOPRIVATE
Nhận sự phụ thuộc
1 2 | go get -u github.com/donhuvy/foo |
Một loại lỗi
Bạn phải mở lại CMD để tải cấu hình mới của tệp netrc.
1 2 | go env -w GOPRIVATE=github.com/donhuvy/* |
Chúng ta có thể chỉnh sửa biến môi trường tại C:UsersadminAppDataRoaminggoenv
Kết quả cuối cùng, dự án vy_golang_foo
: File go.mod
1 2 3 4 | module github.com/donhuvy/vy_golang_foo go 1.20 |
Tập tin main.go
1 2 3 4 5 6 7 8 9 10 11 | <span class="token keyword">package</span> main2 <span class="token keyword">import</span> <span class="token string">"time"</span> <span class="token keyword">type</span> Employee <span class="token keyword">struct</span> <span class="token punctuation">{</span> FirstName <span class="token builtin">string</span> MiddleName <span class="token builtin">string</span> LastName <span class="token builtin">string</span> DateOfBirth time <span class="token punctuation">.</span> Time <span class="token punctuation">}</span> |
Dự án vy_golang_bar
: Tệp go.mod
1 2 3 4 5 6 7 | module github.com/donhuvy/bar go 1.20 require github.com/donhuvy/vy_golang_foo v0.0.0-20230403043549-406d14f982f7 // Sometime, msut delete this line 5, then press Sync in GoLand. |
Tập tin main.go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <span class="token keyword">package</span> main <span class="token keyword">import</span> <span class="token punctuation">(</span> <span class="token string">"fmt"</span> <span class="token string">"github.com/donhuvy/vy_golang_foo"</span> <span class="token punctuation">)</span> <span class="token keyword">func</span> <span class="token function">main</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> ss <span class="token operator">=</span> <span class="token operator">&</span> main2 <span class="token punctuation">.</span> Employee <span class="token punctuation">{</span> FirstName <span class="token punctuation">:</span> <span class="token string">"Van"</span> <span class="token punctuation">,</span> LastName <span class="token punctuation">:</span> <span class="token string">"Nguyen"</span> <span class="token punctuation">,</span> MiddleName <span class="token punctuation">:</span> <span class="token string">"Bich"</span> <span class="token punctuation">,</span> <span class="token punctuation">}</span> fmt <span class="token punctuation">.</span> <span class="token function">Println</span> <span class="token punctuation">(</span> <span class="token string">"My first love: "</span> <span class="token punctuation">,</span> ss <span class="token punctuation">.</span> FirstName <span class="token punctuation">,</span> ss <span class="token punctuation">.</span> MiddleName <span class="token punctuation">,</span> ss <span class="token punctuation">.</span> LastName <span class="token punctuation">)</span> <span class="token punctuation">}</span> <span class="token comment">// https://golangbyexample.com/struct-another-package-golang/</span> |
mã nguồn https://1drv.ms/u/s!Ar6K_3y3TiCPgYZWR9RiU7z27Ownug?e=IiRpI7