初学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. java数据结构学习(一)之二分查找

      二分查找法与我们在孩童时期玩过的猜数的游戏一样,这个游戏里一个朋友会让你猜他正想的一个1至100的数,当你猜了一个数后,他会告诉你三种选择的一个:你猜的比她想的大,或小,或猜中了.为了能用最少的次 ...

  2. LINQ——语言级集成查询入门指南(1)

    本文主要是对语言级集成查询或简称为LINQ做一个介绍,包括LINQ是什么,不是什么,并对它在语言特性方面做一个简短的回顾,然后举一些使用LINQ的实际例子进行说明. 语言级集成查询是什么? 在我过去写 ...

  3. React gulp、Browserify、Webpack实例

    一.gulp var gulp = require('gulp'); var react = require('gulp-react'); gulp.task('jsx', function() { ...

  4. python 利用imap接收邮件,并保存附件

    def SaveAttachImap():# login the imap server ,retrive the  new mails ,and download the attachments. ...

  5. Checked&Unchecked Exception

    Java 中定义了两类异常: 1) Checked exception: 这类异常都是Exception的子类 .异常的向上抛出机制进行处理,如果子类可能产生A异常,那么在父类中也必须throws A ...

  6. cmd修改系统时间

    time 11:15:00  修改时间 date 2015/11/25  修改日期

  7. hdu 3359 Kind of a Blur (高斯消元 浮点型)

    题目链接 题意: H * W (W,H <= 10) 的矩阵A的某个元素A[i][j],从它出发到其他点的曼哈顿距离小于等于D的所有值的和S[i][j]除上可达点的数目,构成了矩阵B.给定矩阵B ...

  8. POJ 1276 (多重背包) Cash Machine

    题意: 有n种纸币,已知每种纸币的面值和数量,求所能凑成的不超过cash的最大总面值. 分析: 这道题自己写了一下TLE了,好可耻.. 找了份比较简洁的代码抄过来了..poj1276 #include ...

  9. UVa 11572 Unique snowflakes【滑动窗口】

    题意:给出 n个数,找到尽量长的一个序列,使得该序列中没有重复的元素 看的紫书,滑动窗口来做的 当右端碰到有相同的数的时候,左端向前滑动一个数 模拟一个样例好理解些 #include<iostr ...

  10. datatables使用总结篇

    <!doctype html> <html> <head> <meta charset="gbk"/> <meta name= ...