首页 > 其他分享 >GO语言调用外部函数失败总结

GO语言调用外部函数失败总结

时间:2023-07-02 10:22:49浏览次数:49  
标签:调用 函数 go aaron test GO model main cn

目录

GO

练习的项目结构

@:~/goProject/test.cn$ tree
.
├── go.mod
├── main.go
└── model
    └── mysql.go
1 directory, 3 files

Q1 导入的是空路径

build command-line-arguments: cannot load /home/vagrant/aaron/goProject/test.cn/model: malformed module path "/home/vagrant/aaron/goProject/test.cn/model": empty path element

main.go

package main
import (
    "/home/vagrant/aaron/goProject/test.cn/model"
)
func main(){
    model.Print()
}

Q2 导入的路径不全

vagrant@aaron:~/aaron/goProject/test.cn$ go run main.go
build command-line-arguments: cannot load model: malformed module path "model": missing dot in first path element

main.go

package main
import (
    "model" // 这个路径不全
)
func main(){
    model.Print()
}

Q3 找不到路径

vagrant@aaron:~/aaron/goProject/test.cn$ go run main.go
build command-line-arguments: cannot load test.cn/model: cannot find module providing package test.cn/model

A3

这个失败是在test.cn目录下缺少go.mod文件

Q4 函数不可调用

vagrant@aaron:~/aaron/goProject/test.cn$ go run main.go
# command-line-arguments
./main.go:9:2: cannot refer to unexported name model.Print
./main.go:9:2: undefined: model.Print

main.go

package main
import (
    "test.cn/model"
)
func main(){
    model.Print()
}

A4

这个失败的原因是调用的函数是不是公开的函数,如需让外部调用函数,需要函数名的首字母为大写。

Q5 报错Use as value

vagrant@aaron:~/aaron/goProject/test.cn$ go run main.go
# command-line-arguments
./main.go:9:2: undefined: fmt.Pirintln
./main.go:9:27: model.Print() used as value

mysql.go

func Print() {
    fmt.Println("I am Print")
    return
}

A5

报错原因是调用的函数没有返回值

标签:调用,函数,go,aaron,test,GO,model,main,cn
From: https://www.cnblogs.com/aaron-948/p/17520446.html

相关文章

  • Django:单表查询之神奇的双下划线
    一、单表查询中双下划线运用案例models.Tb1.objects.filter(id__lt=10,id__gt=1)、#获取id大于1且小于10的值models.Tb1.objects.filter(id__in=[11,22,33])#获取id等于11、22、33的数据models.Tb1.objects.exclude(id__in=[11,22,33])#notinmodels.Tb1.objec......
  • ImportError:无法从“django.utils.encoding”导入名称“force text”[Python错误已解
    在软件开发过程中遇到错误是很常见的,在使用Python和Django时,这样的错误之一就是ImportError:cannotimportname'forcetext'from'django.utils.encoding'.forcetext此特定错误表明从模块导入方法时出现问题django.utils.encoding。缺少的方法用于将输入数据转换为一致......
  • go src - sync.Map
    前言在并发编程中,我们经常会遇到多个goroutine同时操作一个map的情况。如果在这种情况下直接使用普通的map,那么就可能会引发竞态条件,造成数据不一致或者更严重的问题。sync.Map是Go语言中内置的一种并发安全的map,但是他的实现和用法与普通的map完全不同,这篇文章将详细介绍这些区......
  • go反射使用及proto协议字段随机动态赋值
    1.基本概念Go语言的反射是一种在运行时动态访问程序元数据的能力。反射可以让我们在运行时检查类型和变量,例如它的大小、方法和动态的值等。这种机制让我们可以编写更加通用的函数和类型,而不需要关心具体的类型。在Go语言中,反射的实现主要依赖于两种类型:Type和Value。这......
  • 当函数遇上图片,比如Filter
    Filter函数可以说是包揽了一切查找,嗯,够辛苦。有木有想过,如果Filter遇上图片,又是怎样的风景呢?就是这个样几滴……这里的图片可以是两种,一种是由Image函数生成的,另一种是放置在单元格中的图片。其实,这并不是Filter的独享,因为图片作为单元格对象,所以几乎可以说是所有函数,都能对......
  • 【Python基础】index函数-返回查找对象的首个匹配的索引位置
    描述从列表中找出某个值第一个匹配项的索引位置返回的是查找对象的索引位置,如果没有,就会抛出异常语法List.index(a,start,end)参数解释a要查找的对象(必填)start要查找的范围的开始位置索引(闭区间)(非必填)end要查找的范围的结束位置索引(开区间)(有end就必须有start,有start时可以没end)举......
  • Golang实现图片与视频的缩略图生成
    图片与视频的缩略图是一个十分常见的需求,比如即时消息。这里摘取了Golang项目中的相关代码,分享图片与视频相关处理的开发经验。图片缩略图缩略图的尺寸分为两种规则:1)边长模式,生成正方形缩略图;2)宽高模式,又分三种:指定宽高、指定宽(高等比缩放)、指定高(宽等比缩放)。如果原图为png或gif,缩......
  • django优缺点 # ninja的优点可替代DRF
    摘抄:https://www.cnblogs.com/fnng/p/16084825.htmldjango优点通过脚手架创建项目/应用:不用考虑项目架构怎么设计。自带Admin后台:在没有前端的情况下,可以比较方便通过Admin对数据进行操作。自带常用模块:一个命令就能生成group、user、session...表,一般个系统都需要user表吧......
  • 嵌入式linux开发 | u-boot启动logo修改
    原文:https://zhuanlan.zhihu.com/p/582316377一、导读使用嵌入式linux作为设备的操作系统,当在设备上电启动后,希望显示开机logo。一般会经历以下几个流程:(1)运行芯片内部引导程序(2)运行引导加载程序(u-boot较为常用)(3)运行linux内核(4)运行用户根文件系统,在这个阶段,就会根据项目......
  • Vim学习笔记2--录制宏,调用宏
    1.VIM编辑器--录制宏调用宏录制宏qa进入宏记录模式,a为宏名shift+w移到词首i.escshift+ei()escq退出宏记录调用宏@a使用宏名为a的宏@前加数字表示重复操作的次数 2.VIM编辑器--文本替换r替换:1,$s;a;b;gc(:1,$sa;b;gc)高级进阶用法:100,200s/1/2/gc含义:vim......