欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go初學(xué)者踩坑之go?mod?init與自定義包的使用

 更新時(shí)間:2022年10月25日 11:51:05   作者:MaraSun  
go?mod是go的一個(gè)模塊管理工具,用來代替?zhèn)鹘y(tǒng)的GOPATH方案,下面這篇文章主要給大家介紹了關(guān)于Go初學(xué)者踩坑之go?mod?init與自定義包的使用,需要的朋友可以參考下

前言

入門很容易的 hello world, 到使用自定義包算一個(gè)小的進(jìn)步,然而在使用上竟然浪費(fèi)了不少時(shí)間,上網(wǎng)查了半天,才解決問題.

第一明確 是哪種方式,是go mod 方式 還是 go path 方式, 請(qǐng)自己查一下,本小文直說go mog 方式的小問題.

首先看一下 文檔結(jié)構(gòu)

我自己寫了個(gè) ToolKit.go, 內(nèi)容大致如下:

問題是:怎么引用它

//for all kind of tools
package Toolkit

import (
	"net/http"
	"strings"
)


func Left(str string, cnt int) string {
	l := strings.Count(str, "")
	if cnt >= l {
		cnt = l - 1
	} else if l < 0 {
		l = 0
	}
	return str[0:cnt]
}
...

引用方式各種出錯(cuò),舉例如下:

package main
import (
	"testing"
	"ToolKit"
)

或者:

package main
import (
	"testing"
	"./ToolKit"
)

或者

package main
import (
	"testing"
	"/usr/local/src/go/iot_watcher/ToolKit"
)

我能想到的方法都用到了,還是不行.

下面直接給出解決方案吧

查看 go.mod,內(nèi)容如下

module iot_watcher.com

go 1.17

OK, 把 module 后面那個(gè)東西考下來, 寫成這樣

ackage main

import (
	"testing"
	"iot_watcher.com/ToolKit"
)

就沒問題了.

為了方便,寫成別名引用方式

package main

import (
	"testing"
	
	ToolKit "iot_watcher.com/ToolKit"
)

補(bǔ)充: 終于明白 go mod init anyName.com

這個(gè)anyName.com 東西的用途了(一點(diǎn)兒用途)

說實(shí)話, 我最討厭這種幾乎一點(diǎn)兒含金量都沒有的系統(tǒng)配置了. 從微軟的MFC 到go , 真是無奈.浪費(fèi)大量時(shí)間.

補(bǔ)充:go mod init出錯(cuò)

go mod init出錯(cuò),錯(cuò)誤提示如下:

go: cannot determine module path for source directory D:\workspace\go (outside GOPATH, no import comments)

解決辦法:添加模塊名參數(shù)

go mod init module_name

例如,在test目錄下,即test模塊,就用

go mod init test

總結(jié)

到此這篇關(guān)于Go初學(xué)者踩坑之go mod init與自定義包使用的文章就介紹到這了,更多相關(guān)go mod init與自定義包使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go語言中的訪問權(quán)限控制

    Go語言中的訪問權(quán)限控制

    在?go?中進(jìn)行權(quán)限管理時(shí),推薦使用?grouper、casbin?和?sentry?框架,grouper?適合基于角色的訪問控制,casbin?提供高級(jí)?rbac?功能,而?sentry?提供云托管權(quán)限服務(wù)和豐富的功能集,包括多因素認(rèn)證和活動(dòng)審核,這些框架有助于在電子商務(wù)網(wǎng)站等實(shí)際場(chǎng)景中實(shí)施細(xì)粒度的訪問控制
    2024-08-08
  • 解決電腦用GoLand太卡將VsCode定制成Go IDE步驟過程

    解決電腦用GoLand太卡將VsCode定制成Go IDE步驟過程

    這篇文章主要為大家介紹了解決電腦用GoLand太卡,將VsCode定制成Go IDE步驟過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • golang結(jié)合mysql設(shè)置最大連接數(shù)和最大空閑連接數(shù)

    golang結(jié)合mysql設(shè)置最大連接數(shù)和最大空閑連接數(shù)

    本文介紹golang?中連接MySQL時(shí),如何設(shè)置最大連接數(shù)和最大空閑連接數(shù),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 解決panic: assignment to entry in nil map問題

    解決panic: assignment to entry in nil

    這篇文章主要介紹了解決panic: assignment to entry in nil map問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2008-01-01
  • Go使用proto3的踩坑實(shí)戰(zhàn)記錄

    Go使用proto3的踩坑實(shí)戰(zhàn)記錄

    這篇文章主要給大家介紹了關(guān)于Go使用proto3的踩坑記錄,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者會(huì)用Go語言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-02-02
  • go?time.After優(yōu)化后性能提升34%內(nèi)存減少67%

    go?time.After優(yōu)化后性能提升34%內(nèi)存減少67%

    這篇文章主要介紹了go語言time.After優(yōu)化后性能提升34%內(nèi)存減少67%實(shí)例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • golang中defer的基本使用教程

    golang中defer的基本使用教程

    go語言中defer可以完成延遲功能,當(dāng)前函數(shù)執(zhí)行完成后再執(zhí)行defer的代碼塊,下面這篇文章主要給大家介紹了關(guān)于golang中defer基本使用的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Go語言基礎(chǔ)類型及常量用法示例詳解

    Go語言基礎(chǔ)類型及常量用法示例詳解

    這篇文章主要為大家介紹了Go語言基礎(chǔ)類型及常量的用法及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Go語言空結(jié)構(gòu)體詳解

    Go語言空結(jié)構(gòu)體詳解

    本文主要介紹了Go語言空結(jié)構(gòu)體詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • GO語言獲取系統(tǒng)環(huán)境變量的方法

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

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

最新評(píng)論