日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

php小編新一在這里為大家介紹一下GoLang中的一個(gè)常見(jiàn)問(wèn)題:自定義包導(dǎo)入問(wèn)題。在Go語(yǔ)言開(kāi)發(fā)中,我們經(jīng)常需要使用自定義的包來(lái)實(shí)現(xiàn)一些特定的功能。然而,在導(dǎo)入自定義包時(shí),有時(shí)候會(huì)出現(xiàn)一些問(wèn)題,比如包找不到、包名沖突等。本文將詳細(xì)解答這些問(wèn)題,并提供解決方案,幫助開(kāi)發(fā)者更好地處理自定義包導(dǎo)入問(wèn)題,提高開(kāi)發(fā)效率。

問(wèn)題內(nèi)容

我正在學(xué)習(xí) golang,遇到了一個(gè)問(wèn)題。

我使用 go mod init main 創(chuàng)建了 mod 文件

接下來(lái)我創(chuàng)建了控制器和路由文件夾,如下所示:

├── contollers
│?? └── users.controller.go
├── routes
│?? ├── index.go
│?? └── users.routes.go
├── vendor
│   └── modules.txt
├── go.mod
├── go.sum
└── main.go

登錄后復(fù)制

在 mod 文件中,模塊看起來(lái)像這樣
模塊main

現(xiàn)在,當(dāng)我嘗試將控制器導(dǎo)入路由器時(shí),它給了我導(dǎo)入錯(cuò)誤。

我一直在做以下事情。
嘗試 – 1

import (
    "$gopath/controllers"

    "github.com/gin-gonic/gin"
)

登錄后復(fù)制

它給出了 invalid import path: "$gopath/controllers"syntax 錯(cuò)誤

嘗試 – 2

import (
    "$gopath/main/controllers"

    "github.com/gin-gonic/gin"
)

登錄后復(fù)制

同樣的錯(cuò)誤

嘗試 – 3

import (
    "main/controllers"

    "github.com/gin-gonic/gin"
)

登錄后復(fù)制

控制器.go

package controllers;

import (
    "fmt"

    "github.com/gin-gonic/gin"
)

func healthcheck() gin.handlerfunc {
    return func (c *gin.context)  {
        fmt.println("reached controller")
    }
}

登錄后復(fù)制

路由器.go

package routes

import (
    "bootcamp.com/server/controllers"

    "github.com/gin-gonic/gin"
)

func UserRouters(inComingRoutes *gin.Engine) {
    inComingRoutes.GET("/api/health", controllers.HealthCheck());
}

登錄后復(fù)制

拋出這樣的錯(cuò)誤,無(wú)法導(dǎo)入main/controllers(沒(méi)有必需的模塊提供包“main/controllers”)

我已經(jīng)被這個(gè)問(wèn)題困擾了 3-4 個(gè)小時(shí),有人可以建議我如何將該控制器導(dǎo)入到我的路線中。

提前致謝。

解決方法

    通過(guò)編輯go.mod修改模塊路徑:
- module main
+ module example.com/hello

登錄后復(fù)制

    修改導(dǎo)入路徑:
import (
-     "main/controllers"
+     "example.com/hello/controllers"

      "github.com/gin-gonic/gin"
  )

登錄后復(fù)制

    controller.go(刪除尾隨的 ;):
- package controllers;
+ package controllers

登錄后復(fù)制

    將目錄 contollers 重命名為 controllers 以匹配包名(缺少 r)。

    刪除 vendor 文件夾。

說(shuō)明

    main在go中有特殊的含義。引自 golang 規(guī)范:

一個(gè)完整的程序是通過(guò)將一個(gè)名為主包的單個(gè)未導(dǎo)入包與其導(dǎo)入的所有包以傳遞方式鏈接起來(lái)創(chuàng)建的。主包必須具有包名稱 main 并聲明一個(gè)不帶參數(shù)且不返回值的函數(shù) main。

    不帶點(diǎn)的導(dǎo)入路徑是為標(biāo)準(zhǔn)庫(kù)和 go 工具鏈保留的。請(qǐng)參閱cmd/go:保留不帶點(diǎn)的模塊名稱的文檔。

分享到:
標(biāo)簽:Go語(yǔ)言 標(biāo)準(zhǔn)庫(kù)
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定