golang 特殊知识点
golang 代码不需要分号
;但是又会自己在底层增加;号 ,所以 golang的{左花括号必须在代码的最后一行,而不能在新的一行;
golang 代码组织里需要注意 vendor 和 internal 的特殊用法,internal 不会主动出现在godoc中,但是可以手动输入路径;
golang 的time.Format(string)string 方法,参数必须是:2006-01-02 15:04:05而不能是自定义的年月日时间,虽说方便记忆,但是你Format注释就不能说明白了么? 还要我百度搜索,不友好;
golang 的map结构,每次都会故意乱序,实在是太恶心了;;; 我做权重随机的时候,就必须要先转顺序固定的数组slice了;有序或者无序 不重要,关键两次遍历 顺序都不一样,这样就不好玩了!
golang 的map[]struct{} 添加进入map后的元素 是不能修改的 ! 好想念C++的STL map (其实这样也挺好的,学习Erlang思想,只能拷贝,不能修改,能保证并发下的程序健壮性),不过必须要make,也是硬伤。
golang 的import "./package" 基本上没用,必须使用完整package路径,我做单元测试UnitTest必须在同一个目录,如果在子目录test,则必须指定完整路径,太恶心,增加重构成本!
golang 的类型必须显式转换, int int32 int64 就不能自动转换?
golang 没有模板, 所以看到代码里有一个函数 ConvertIntSliceToInt32Slice 我就觉得 有点小烦躁!
golang 的函数返回值,如果是定义有多个返回值参数,还必须用 类似(int,error)这样的括号扩住,没有括号就报错,有点恶心;
golang 的多函数返回值,不能链式调用,加上类型不能隐式转换,我要声明一些 多余的临时变量,恶心!
golang 没有const限定,这个本来是让开发人员减少错误的发生的(见 effectiveC++ 条款4);但是golang没有,golang的数据 slice map 都没法修改,跟C++完全不同,到是与Erlang 差不多.烦躁.
参考链接:
Golang Vendor
golang 特殊知识点的更多相关文章
- golang 小知识点记录
获取url中的参数及输出到页面的几种方式 func SayHello(w http.ResponseWriter, req *http.Request) { req.Method //获取url的方法 ...
- golang一些知识点
2.冒泡排序(二维数组使用): func main() { i := 1 MYLABEL: for { i++ if i > 3 { break MYLABEL } } fmt.Println( ...
- Golang 知识点总结
Golang 知识点总结 目录 [−] 各种类型复制的时候的花费 可使用内建函数的类型 (len.cap.close.delete.make) 内建容器类型的值比较 组合类型T{...}的值比较 零值 ...
- Golang知识点整理
1. Golang 1.1 golang知识点大纲 1.2 指针 1.3 Golang使用validator进行数据校验及自定义翻译器 1.4 Golang GC(垃圾回收机制) 2.框架 2.1 G ...
- Golang 数组 切片 字典 基本知识点
数组 数组的声明 var arrayName [arraySize]dataType eg: var array1 [5]int 在声明数组时,必须指定数组名,数组长度和数组元素的类型. 数组的初始化 ...
- 来自朝鲜的问候 golang入坑系列
鸿渐于陆 本想着写满十八式,但按照目前的进度来看,是很难凑够十八式了.所以还是那句话,量力而行,适可而止.能写多少就写多少,我没法保证看完这本golang脱口秀,一定能成为golang大拿.但入了门, ...
- Golang的CSP很酷?其实.NET也可以轻松完成
说起Golang(后面统称为Go),就想到他的高并发特性,在深入一些就是 Goroutine.在大家被它优雅的语法和简洁的代码实现的高并发程序所折服时,其实C#/.NET也可以很容易的做到.今天我们来 ...
- golang使用通道模仿实现valatile语义
golang团队在sync中提供了很多的原子操作函数,将原子操作转向由单独一个包提供,而不是像Java那样提供各种累,确实上手得更加简单.但是golang原生提供的并发操作没有Java来得丰富 ...
- golang 中 string 转换 []byte 的一道笔试题
背景 去面试的时候遇到一道和 string 相关的题目,记录一下用到的知识点.题目如下: s:="123" ps:=&s b:=[]byte(s) pb:=&b s ...
随机推荐
- 51Nod1518 稳定多米诺覆盖 动态规划 插头dp 容斥原理
原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1518.html 题目传送门 - 51Nod1518 题意 51Nod真是个好OJ ,题意概括的真好, ...
- HDU4858 项目管理 其他
原文链接https://www.cnblogs.com/zhouzhendong/p/HDU4858.html 题目传送门 - HDU4858 题意 给定一个无向图 $n$ .有 $m$ 条边. 每一 ...
- tomcat多端口配置
<?xml version="1.0" encoding="UTF-8"?> <Server port="8005" sh ...
- ssh框架中.xml文件小技巧分离xml
struts.xml文件 struts.xml文件里的action可以分离出来,如: <!-- 预警信息监测 --> <include file="config/strut ...
- 在Adobe Html5 Extension的使用Nodejs的问题
前情回顾 之前为一个客户开发过一个基于Adobe Premiere的Html5扩展.原本是在Adobe Premiere Pro 2015下面进行调试开发的.一切进展的非常顺利,功能也都正常.但是20 ...
- python 数据结构之归并排序
def merger_sort(alist): if len(alist) <= 1 : return alist num=int(len(alist)/2) left=merger_sort( ...
- shell crlf to lf
UNIX/Linux Commands You can use the following tools: dos2unix (also known as fromdos) – converts tex ...
- ASP.NET MVC不可或缺的部分——DI及其本质工作分析
IoC框架最本质的东西:反射或者EMIT来实例化对象.然后我们可以加上缓存,或者一些策略来控制对象的生命周期,比如是否是单例对象还是每次都生成一个新的对象. DI实现其实很简单,首先设计类来实现接口, ...
- Alpha(8/10)
鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...
- Django之auth组件
Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...