初学golang时,在windows上使用liteIDE进行,很多语法都能自己调整。

后来使用linux桌面,再次编写时,发现很多东西都忘掉了。这难道就是习惯gocode后的弊端吗?还是人到 前中年 的现象呢?

为了不忘记一些东东,留下一点点脚印,就对一些错误做了记录,以后再慢慢补充。

关于import,golang很有意思,它允许你使用别名,但是在启用别名后,就不能在使用原名啦!否则可能会遭遇下面两种问题

误用别名:

1、error: reference to undefined name ‘f’
  f.Println("slice定义测试举例:")
问题点:
在import "fmt"时,没有启用别名f,而在应用时,使用了别名f。

未用别名:
2、error: reference to undefined name ‘fmt’
  fmt.Println(ave)
问题点:
在import f "fmt"时,启用了别名f,而在应用时,没有使用别名f,依旧使用原名fmt。

更有意思的是,或者说这是它的弊端吧:它不允许你import多余的库,如果import却未使用,暴搓你:

3、 error: imported and not used: os
  "os"
问题点:
不允许import多余的包,如果import却未使用,报错。。。

关于算术计算,golang不允许类型不一致,它不愿意做多余的不属于它的事情(习惯C语言的默认转型,这里有些不习惯哦!),一不小心类型不一致,可能会遭遇下属错误:
算术运算前后类型不一致:
4、error: incompatible types in binary expression
    sum=sum+v

error: floating point constant truncated to integer
  sum:=3.2+ia
问题点:
在处理运算时,sum与v的类型不统一时,会爆此错.

关于函数引用时,如果出现类型不统一,则会遇到一下错误:
5、 error: argument 1 has incompatible type
  ave:=average(xs)
问题点:
在进行调用average函数时,出现类型不一致引起的。func average(xs []float64)(ave float64)
而实际xs的定义是:xs:=[10]float64 {1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10.0}
在进行调用时:
ave:=average(xs),这样就会出现类型不一致,也即:xs是数组名称,而函数定义时是slice,所以,正确的调用方法是:ave:=average(xs[:])

golang的弊端不仅仅有import不允许有多余的,在变量定义上亦是如此,决不允许你随意定义多余变量,一旦定义,必须使用,duang。。duang。。duang。。

6、error: ‘sum’ declared and not used
  sum:=3.2+ia
问题点:
变量定义,但是未使用,这是不允许的。

golang学习遭遇duang...duang...duang的更多相关文章

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

    7. error: reference to field ‘Printf’ in object which has no fields or methods f.Printf("%v&quo ...

  2. golang学习之beego框架配合easyui实现增删改查及图片上传

    golang学习之beego框架配合easyui实现增删改查及图片上传 demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DO ...

  3. Golang学习 - 学习资源列表

    Golang 学习资源: <Go 语言圣经(中文版)>  - 书籍 http://shinley.com/index.html <学习 Go 语言> - 书籍 http://w ...

  4. Golang学习:sublime text3配置golang环境

    最近导师让学习golang, 然后我就找了些有关golang的学习视频和网站. 昨天在电脑上下载了go tools, 之后在sublime上配置了golang的运行环境.By the way, 我的电 ...

  5. golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题

    golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题 下面这个程序运行的能num结果是什么? package main import ( "fmt" " ...

  6. golang学习笔记19 用Golang实现以太坊代币转账

    golang学习笔记19 用Golang实现以太坊代币转账 在以太坊区块链中,我们称代币为Token,是以太坊区块链中每个人都可以任意发行的数字资产.并且它必须是遵循erc20标准的,至于erc20标 ...

  7. golang学习笔记18 用go语言编写移动端sdk和app开发gomobile

    golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ...

  8. golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍

    golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...

  9. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

随机推荐

  1. Oracle - 位图索引的适用条件

    位图索引的适用条件 位图索引适合只有几个固定值的列,如性别.婚姻状况.行政区等等,而身份证号这种类型不适合用位图索引. 位图索引适合静态数据,而不适合索引频繁更新的列. 举个例子,有这样一个字段bus ...

  2. lintcode :Remove Duplicates from Sorted Array 删除排序数组中的重复数字

    题目: 删除排序数组中的重复数字 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度. 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成.  样例 ...

  3. 【mongoDB基础篇①】安装与常用操作语句

    简述 mongoDB与redis同为noSql数据库,但是redis为kv数据库(key/value),而mongoDB为文档型数据库存储的是文档(Bson->json的二进制化).内部执行引擎 ...

  4. Android 关于listView 显示不全的问题

    刚刚在项目中发现一个bug,我是用ScrollView 嵌套 ListView的,但是我的数据只能显示一条,开始我还以为是数据有错误,经过排查以后发现是正确的 百度发现 android的架构好像没有考 ...

  5. 转ATL对象类型

    http://hi.baidu.com/rural_child/item/d91ce5d8fba9c8e73cc2cbf9 1.Objects a.Simple Object:用于实现业务逻辑,无用户 ...

  6. openCv 图像顺时针、逆时针旋转

    通过下面这个函数调用 Rotate90(workImg,270); //顺时针旋转 Rotate90(workImg,90); //逆时针旋转 实现,其实用该函数旋转任意度数对正方形图都ok,只是长方 ...

  7. maven小项目注册服务(一)--email和persist模块

    跟着书里的讲解,跟着做了一遍该项目: 首先明白注册账户的需求: 账号的lD和Email地址都可以用来唯一地标识某个用户,而显示名称则用来显示在页面下,方便浏览.注册的时候用户还需要输入两次密码,以确保 ...

  8. Android权限安全(7)binder,service,zygote安全相关简介

    binder 提供服务的service中的binder thread 检查调用者的uid 不是root,system就异常. service 也检查调用者的uid 不是root,system,只能注册 ...

  9. linux文件和目录基本操作

    比较特殊的目录: .   代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 -代表当前用户身份所在的主文件夹 -account 代表account用户所在主文件夹 1.目录相关操作 cd切换 ...

  10. wince和window mobile winphone

    windows mobile是微软在2000年左右推出的针对移动平台的操作系统,这个系统一直使用到三年前,微软开始启用metro界面,将windows mobile改名为windows phone. ...