golang学习遭遇错误原因分析续

7、 error: reference to field ‘Printf’ in object which has no fields or methods
f.Printf("%v", (Map(f,m)))
问题点:
在启用import f "fmt"后,如果再在函数中定义变量f时,如果使用f.Print**,这就会出现上述错误了。

8、error: argument 1 has incompatible type (cannot use type int64 as type time.Duration)
time.Sleep(sec*1e9)
^
问题点:
Sleep的参数不正确,应该使用time.Duration进行类型转换。尽管time.Duration类型是使用type Duration int64方式定义的。
这个需要使用time.Duration(sec)进行转换才能编译正确的。

9、error: invalid break label ‘L’
break L
^
在使用 break 标签 时,需要将标签放在for语句之前,否则爆此错。
L: for ..;..;..{
if .. {
break L
}
}

10、fatal error: all goroutines are asleep - deadlock!
goroutine 1 [select]:
main.func_select
/home/niujie/workspace/go/src/study/go_reserved.go:364
main.main
/home/niujie/workspace/go/src/study/go_reserved.go:398
exit status 2
如下方式调用,则会出现上述错误:
for{
Loop:
f.Println("i is:", i)
select{
case <-c:
i++
if i>1{
goto Loop
}
}
}
正确的方法如下:
L: for{
f.Println("i is:", i)
select{
case <-c:
i++
if i>1{
break L
}
}
}

11、./go_study.go:6:8: error: imported and not used: sort_method
"./sort"
^
问题点:
这是导入自定义包时,名字不一致。也即:包的文件名字,与文件中package 包名 不一致。
我们在import时,需要按照文件中的package 包名,才可以。

12、 go_study.go:5:2: cannot find package "mysort" in any of:
/usr/local/go/src/pkg/mysort (from $GOROOT)
/home/niujie/workspace/go/src/mysort (from $GOPATH)
问题点:
在导入包后,golang会到GOROOT和GOPATH中搜索 包名 的路径。如果名字不同,会提示找不到包。

13、error: invalid reference to unexported identifier ‘mysort.bubble_sort’
mysort.bubble_sort(n)
^
问题点:
在包中函数,如果函数名首字母不是大写,那么该包是不会被导出的。所以,在定义需要导出函数时,
需要将函数首字母大写。
• 公有函数的名字以大写字母开头;
• 私有函数的名字以小写字幕开头。

时间: 2024-11-10 01:11:44

golang学习遭遇错误原因分析续的相关文章

SQL Server 磁盘请求超时的833错误原因分析以及解决

本文出处:http://www.cnblogs.com/wy123/p/6984885.html 最近遇到一个SQL Server服务器响应极度缓慢,并且出现客户端请求报错的情况,在数据库中的errorlog中出现磁盘请求超过一定时间才完成的error消息.对于此类问题,到底是存储系统或者磁盘的故障,还是SQL Server 自己的问题,亦或是应用程序引发的呢?又要如何解决?本文将对引起此问题的某一方面的因素进行简单的分析,但是无法涵盖所有潜在的可能性,因此遇到类似问题还要做具体的分析. SQL

Entity Framework 数据并发访问错误原因分析与系统架构优化

本文主要记录近两天针对项目发生的数据访问问题的分析研究过程与系统架构优化,我喜欢说通俗的白话,高手轻拍 1. 发现问题 系统新模块上线后,使用频率较高,故在实际使用和后期的问题重现测试中,产生了一下系列的数据访问错误 错误是比较常见的错误 2. 分析问题 系统的架构为前端.业务层与数据层三层架构,采用Entity Framework 3.5作为数据处理技术,采用shared context per request模式,参照的是codeplex上的一个示例.示例地址(此文通俗易懂,代码结构也很清晰

微信的redirect_uri参数错误原因分析

我们可以根据微信的开发者文档  http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 网页授权获取用户验证这一章来排除错误原因. 如果确定appid等参数值没有出错,那么很大可能就是你的微信公众号后台的网页授权网址没有填写或者填写的不正确. 1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的开发者中心页配置授权回调域名.请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加http

FTP上传文件提示550错误原因分析。

今天测试FTP上传文件功能,同样的代码从自己的Demo移到正式的代码中,不能实现功能,并报 Stream rs = ftp.GetRequestStream()提示远程服务器返回错误: (550) 文件不可用(例如,未找到文件, 百度查找原因: 1.说文件权限: 2.路径是否正确: 3.路径是不是要加“@” 还有其他各类说法,逐一检查未发现错误,关键是同一个文件同样代码,一个程序可以正确完成上传,一个跳异常. 后来突然想到拷贝代码时FTP类提示using System.Linq;命名空间错误.

Nginx 502和504错误原因分析

一直以来当nginx出现502或者504错误时,大多数的运维人员都会参考张宴大师的nginx优化文档来解决.但是什么情况下出现502,什么情况下出现504,确不是很清楚,反正就知道是php-cgi处理不过来了.前段时间curl模拟超时,偶然发现有时是502和504,刚好今天刚好有空测试. 在 php.ini 中有一个参数 max_execution_time 可以设置 PHP 脚本的最大执行时间,但是nginx+php-cgi(php-fpm) 中该参数不会起效.真正能够控制 PHP 脚本最大执

MySQL在删除表时I/O错误原因分析

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯数据库技术 发表于云+社区专栏 问题现象 最近使用sysbench测试MySQL,由于测试时间较长,写了一个脚本按prepare->run->cleanup的顺序在后台跑着.跑完后察看日志发现一个问题,MySQL服务的错误日志中出现多条类似以下信息的报错: [ERROR] InnoDB: Trying to do I/O to a tablespace which does not exist. I/O type: read

定时任务任务脚本报命令找不到错误原因分析

1.1 定时任务内环境变量和shell环境变量的区别 1.1.1 shell环境变量PATH查询用echo $PATH命令 [[email protected] /]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin shell环境变量 1.1.2 定时任务内环境变量PATH查询是把echo $PATH的命令写入脚本,再把执行结果写入文本查询结果. [[email protecte

sc start service 1063 1053 错误原因

在进入点函数里面要完成ServiceMain的初始化,准确点说是初始化一个SERVICE_TABLE_ENTRY结构数组,这个结构记录了这个服务程序里面所包含的所有服务的名称和服务的进入点函数,下面是一个SERVICE_TABLE_ENTRY的例子:SERVICE_TABLE_ENTRY service_table_entry[] ={  { "MyFTPd" , FtpdMain },  { "MyHttpd", Httpserv},  { NULL, NULL

mysql--error150错误原因初步分析

1, 两个字段的类型或者大小不严格匹配,例如,如果一个是INT(10), 那么外键也必须设置成INT(10), 而不是 INT(11) 也不能是 TINYINT. 你得使用 SHOW 命令来查看字段的大小,因为一些查询浏览器有时候把 int(10) 和int(11) 都显示为integer.另外,你还必须确定两个字段是否一个为 SIGNED,而另一个又是UNSIGNED, 这两字段必须严格地一致匹配. 2, 你试图引用的其中一个外键没有建立起索引,或者不是一个primary key , 如果其中