Golang无法导入(使用)自定义的包

golang学习笔记八--Go自定义结构不能导入包?(GOPATH解密) 包 包的概念在很多编程语言都有,Go语言中包的概念还是挺有意思的. 一个目录下只有一个包 包的命名与目录可以不同(这点与Java不同) main包下有一个可执行入口,所以main方法只能在main包下执行 go语言不以文件为基本单元,而是包为基本单元,一个结构体可以是不同文件的组合但必须在同一包下 封装 采用camelCase命名规则 大写为public 小写为private 不能导入自定... 阅读详情

Golang无法导入自定义的包,以至于无法使用自定义函数


通常情况下遇到的原因有两个:


第一个原因:

自定义函数名首字母忘记大写

//init首字母小写是不行的
func initService()  {
	App=iris.New()
}

//首字母改成大写,可以粗略理解为Java里面的public方法
func InitService()  {
	App=iris.New()
}
第二个原因:(通产是由于这个原因引起,也很容易忽略)

项目所在位置不是在GOPATH的src路径下

解解决办法也很简单,只要把项目创建在GOPATH的src目录下即可


这是我的GOPATH所在目录,在src里面创建项目就好了
在这里插入图片描述

Golang使用go mod 导入本地库 Goland使用go mod 导入本地库 主要分为两种情况:一种是在同一个项目下导入,一种是两个不同项目 我的gopath路径在D:gowork 同一个项目导入 这种情况是不需要改动go.mod文件的 文件结构如下,firsttest目录下一个main.go文件,外加当前文件夹下面的InvokeDir文件夹,文件下面有个invoke.go文件,作为测试用的调用函数 1.go.mod文件,注意module名字为firsttest,这个名字就是module名字 main.go文件内容,可以看到直接用mod 阅读详情

相关推荐

【Golang】关于Go语言中的包

Go语言中包的本质:文件夹,不同的文件夹可以存放不同的功能代码。 在Go语言中,每个源代码文件都必须属于一个包。包通常由一个或多个以.go为后缀的源文件组成,这些源文件通常存放在同一个目录下。 包的名称应该具有描述性,能够清楚地表达其功能。包名一般使用小写字母,并且和包所在的文件夹名保持一致。

景天科技苑 3万+

go无法导入自定义包,使用go module

go 无法导入自定义包

chenqianghqu的博客 885

Wafer的T7 Code是什么,怎么来的

在半导体Cim系统中,waferstart 业务需要支持 Sorter 读取 Wafer 的 T7 Code,与 MES 的 Wafer ID 进行绑定,以便向 前追溯 Wafer 历史,那么问题来了,T7code 是什么Wafer的T7 Code是一种,用于标识双面抛光的晶圆。这种标记采用二维矩阵代码符号,适用于各种尺寸的晶圆,不仅限于450mm无缺口晶圆7。T7 Code是衬底来料背面通常会有的供应商刻的追溯ID,这是一串数字和字母组成的流水码。

阿拉伯梳子的专栏 7929

关于子目录下Go自定义包无法使用的问题

很久没有碰Go,今天捣鼓的时候以前遇到的问题又出现了,就是同一项目下,无法使用子目录的包的内容。

帅聪锅锅的博客 635

Ubuntu下OpenOCD+GDB的安装、编译及使用

目标开发板(芯片):stm32mp157aaa 仿真器:ST-Link 操作系统:Ubuntu 18.04 调试软件:OpenOCD OpenOCD的安装 首先下载OpenOCD有多种方式,可以GitHub上下载,目录下打开终端,输入 git clone git://git.code.sf.net/p/openocd/code openocd 下载完整的OpenOCD的文件夹。进入到OpenOCD的目录下,开始安装。 接着,OpenOCD适用于微处理器的debug和烧写,需要下载相关库 sud

蓝冰露的博客 9525

瑞芯微RK3588与FPGA的PCIe DMA通信性能优化实战

本文深入探讨了瑞芯微RK3588与FPGA之间PCIe DMA通信的性能优化实战。针对高速数据采集、AI推理等场景下的带宽瓶颈,文章从驱动配置、DMA描述符、中断处理、零拷贝技术及系统级调优等多个层面,提供了详细的优化策略与代码示例,旨在充分释放PCIe 3.0的理论带宽潜力,提升数据传输效率与稳定性。

sand8的博客 418

GO语言无法导入自定义包

这个很简单的问题,有时候就是不注意细节让自己抓狂 这是我第二次遇到这个问题,第一次遇到的时候当然是入门教学,那次我没有做笔记写下这个小错误,我知道自己真菜,现在也是 1. 我们就随手新建一个包 长这样的 需要注意的就是新建.go文件的两种方式,分别是: Empty file Simple Application 2. 方式一:新建Empty file 3. 方式二:新建 Simple App...

Primer5 2303

避坑指南:MTK平台Widevine L1密钥安装全流程详解(含SP META工具使用与Log分析)

本文详细解析了MTK平台实现Widevine L1认证的全流程,涵盖密钥申请、格式转换、安全烧录等关键步骤,特别针对Trustonic TEE环境下的SP META工具使用与日志分析提供实用指南。帮助开发者规避常见错误,确保DRM密钥安全部署,满足高端内容保护需求。

weixin_27219587的博客 476

goland导入自定义包时出错(一招解决问题)

使用goland编写go语言程序的时候,发现针对自定义的包无法引入。如下图所示: 具体错误也就是main.go:13:2: cannot find package "grpool" in any of: 然后就各种在网上查找,大多数也都讲得很不清楚,最后在网上找到一个说的比较详细的链接https://www.cnblogs.com/pyyu/p/8031254.html。但是这个链接也只是...

果冻先生的专栏 2万+

关于动态存储器dram中rank,bank,device之间的关系

DEVICE_WIDTH表示设备的带宽(单位bit),每个列(column)包含DEVICE_WIDTH 位(bit),每一行(row)包含NUM_COLS个column。   而每一个bank包含NUM_ROWS个行(row)。所以一个设备(device)的存储容量为PER_DEVICE_STORAGE =NUM_ROWS*NUM_COLS*DEVICE_WIDTH*NUM_BANKS (i

wyj7260的专栏 4733

传感器校准与标定:传感器的灵敏度校准_(11).常见传感器的灵敏度校准方法

线性校准:适用于传感器输出与输入之间存在线性关系的情况。通过收集数据并使用最小二乘法拟合线性方程,可以确定斜率和截距,从而实现校准。非线性校准:适用于传感器输出与输入之间存在非线性关系的情况。通过收集数据并使用非线性拟合方法(如最小二乘法),可以确定多项式或其他非线性方程的参数,从而实现校准。温度补偿校准:适用于传感器在不同温度下输出特性变化的情况。通过收集不同温度下的数据并使用温度补偿方程,可以提高传感器在不同温度下的测量精度。其他校准方法。

2401_87715305的博客 918

vscode无法导入go定义包【can not find package....】

vscode无法导入go定义包【can not find package…】 我是一个Java程序员,最近在vs上面玩了一下go,怎么说呢,基础的其实和Java差不多,无外乎导入包之类的,在开发中遇到这样一个问题,我想可以分享一下 vscoded导入自定义git上面的包时报无法找到: 废话不多说,直奔主题,当你完成一系列配置后,运行如下代码: package main import ( "log" "os" _ "github.com/goinaction/code/chapter2/sample

MatChen的博客 6209

CloudCompare 二次开发(36)——非均匀体素降采样

使用CloudCompare与PCL编程实现的非均匀体素降采样。

点云侠的博客 746

【深入浅出go语言】goland 新创建项目导入包失败

问题描述: goland 新创建项目找不到导入包路径 ,项目路径如下: 报错: 两个地址都找不到对应的package C:\Go\src\go_Test\calc (from $GOROOT) // go 安装目录 C:\Users\a\go\src\go_Test\calc (from $GOPATH) // go用户文件地址 解决办法: 1、从上面错误信息看出,如果在以上这两个位置创建是不是就可以找到了,确实如此 所以说在不配置go path ,go root 情况下需要在这两个默认的文件夹创

ysj_2021的博客 1838

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

详解Golang中的go mod以及Golang包

本文介绍了Golang中的包管理和使用。主要内容包括:1) 包的三种类型(系统内置包、自定义包和第三方包);2) Go1.11后引入的gomod包管理工具及其常用命令;3) 自定义包的创建规则和导入方式;4) init()函数的特性和执行顺序;5) 第三方包的使用流程,包括查找、安装和依赖管理。文中重点说明了如何通过gomod管理项目依赖,以及如何定义和使用自定义包,同时介绍了匿名导入和包别名等实用技巧。

m0_75163045的博客 1611

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

golang 导入自定义包_[Golang] GOPATH和包导入

才开始玩GoLang,碰到一些与包导入相关的问题:go build没有找到vendor目录下的包local import "./XXX" in non-local packageGoLang自定义包的特点Go的package不局限于一个文件,可以由多个文件组成。组成一个package的多个文件,编译后实际上和一个文件类似,组成包的不同文件相互之间可以直接引用变量和函数,不论是否导出;因此,组成包的...

weixin_39805180的博客 2269

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

golang导入包_在Go中导入包

golang导入包 介绍 (Introduction) There will be times when your code needs additional functionality outside of your current program. In these cases, you can use packages to make your program more sophistica...

1447

golang 导入自定义包_goLang引入自定义包的方法

goLang引入自定义包的方法看完golang的基本语法后,为了模块化编程,试用了下golang的包管理,结果真踩了几个坑,总结一下吧。一. 设置$GOPATH环境变量golang和C或php不一样,不会自动查找当前路径下的文件,必须先在$GOAPTH里添加自己工程的路径;二. 自定义包里面对外提供的API函数,首字母必须大写如:func api() string {return “hello a...

weixin_39611008的博客 2432

Go 通过 import 导入包

1 单行导入 import "fmt" import "sync" 2 多行导入 import( "fmt" "sync" ) 3 使用别名 我们导入了两个具有同一包名的包时产生冲突,此时这里为其中一个包定义别名 import ( "crypto/rand" mrand "math/rand" // 将名称替换为mrand避免冲突 ) 我们导入了一个名字很长...

爱死亡机器人 8333

【Go基础】Go自定义导入包以及Go常用命令

前言 在Go语言入门环境搭建中有两个重要的概念GOPATH和GOROOT,其中GOROOT是我们安装的go路径例如D:\Go,将这个路径设置到环境变量就配置好了GO目录的安装路径了。PATH环境变量就是%GOROOT%\bin路径,如D:\Go\bin路径。 而GOPATH则是我们的工作目录,就是写代码的目录,在环境变量中配置之后,我们编译源代码等生成的文件都会放到这个目录下,这个目录下我们一般会新建三个文件夹:src、pkg、bin: src 目录存放的是我们的go源代码,不同工程项目的代码以包名区分。

时光、疏离了记忆づ童话的博客 4640

golang使用go mod导入本地包和第三方包的问题

一、本地包和第三方包导入项目时遇到的问题 导入第三方包的方式: import "github.com/astaxie/beego" 导入本地包的方式: // 导入本地的一个命名为model的包 import "./model" 这个时候,如果使用go mod方式来管理包依赖,那么beego将正常下载安装并引入,但是本地的model包却会提示找不到 如果不使用go mod方式,并去掉...

hjxisking的专栏 2万+

golang导入git包_go导入第三方包

最好的学习方式就是实践。 我们通过导入gin包来深入学习。环境go 1.13.5goland 2019.3.1manjaro-gnome3.34.2环境变量首先回想一下,我们安装goland的时候,设置了几个比较重要的环境变量,也就是GOROOT和GOPATH。GOROOT比较容易理解。也就是我们go语言的安装目录,标准库什么的就放在里面的。在linux中的话,默认安装到/usr/lib/go中,...

weixin_39827304的博客 1839

golang 导入自定义包_Go Module 引入本地自定义包

最近由于项目要求,需要对 IPFS 源码进行修改,由于自己在此之前没有接触过 Go 语言,在使用 go mod 导入本地自己开发的工具包的时候折腾了好久才搞定。记录一下,以备后期查阅。Go 语言的 Module 新特性是在 go1.11 的发布之后才支持的,这是 Go 语言新的一套依赖管理系统。文章导读1. 启用 Go Module首先在默认情况下,$GOPATH 默认情况下是不支持 go mud...

weixin_39703926的博客 2222

golang 导入自定义包_go语言中自定义包的方法

包是函数和数据的集合,用 package 关键字定义一个包。主要用于组织 Go 源代码,提供了更好的可重用性与可读性。由于包提供了代码的封装,因此使得 Go 应用程序易于维护。下面创建一个自定义包的实例创建存放包的目录pacmkdir -p $GOPATH/src/test/paccd $GOPATH/src/test/pac新建文件pac.gopackage pacimport "fmt"fun...

weixin_39723920的博客 2137
上一篇: windows 下 Go 第三方包 go-sqlite3 无法安装
下一篇: iris web框架无法加载静态文件
Primer@.com
博客等级 码龄9年 524粉丝 292原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值