非常好的IDE,叫goland。
支持最新的golang1.8了
下载地址:
https://www.jetbrains.com/go/
开始使用手册:
https://www.jetbrains.com/help/go/1.0/getting-started-with-gogland.html
只有一直都是使用Java的ide然后在加上Go plugin进行开发的。
有新的ide就用新的吧。
golang也发展到了1.8的版本更新速度快啊。
下载地址:
https://golang.org/dl/
最近的项目开始慢慢的使用golang进行开发了。
简单快速高效,是java不能比拟的。
GO语言
Mac OS 10.12 - Gogland和在Windows中使用的不同!!
摘要: 刚刚在Mac OS 10.12用Gogland写了一个小小的GO语言测试程序,经过一番尝试才算把Gogland配置好,写出这个测试程序!Gogland在Mac OS 10.12里和Windows里面确实有些不同!! 一,Gogland的菜单位置不同 在Windows里,Gogland的菜单就在自己程阅读全文
posted @ 2017-02-19 23:34 sunylat 阅读(14) | 评论 (0) 编辑
解决:cc1.exe: sorry, unimplemented: 64-bit mode not compiled in
摘要: 在win下用Go语言的cgo时(比如下面场景)我们会用到的GCC编译器,Win下我们一般用MinGW。 Golang连接Oracle数据库;win下 golang 跨平台编译 MinGW全称Minimalist GNU For Windows,是个精简的Windows平台C/C++、ADA及Fort阅读全文
posted @ 2017-02-18 17:14 sunylat 阅读(9) | 评论 (0) 编辑
go get golang.org/x/net 安装失败的解决方法!
摘要: GO语言在github.com上建立了自己的项目,对应的包如果不能下载,那么可以到这里去下载,比如:"go get golang.org/x/net"不能下载这个包,那么我们可以访问:"https://github.com/golang/net"直接把对应的包下载,随后在自己的GOPATH中建立对应阅读全文
posted @ 2017-02-18 13:27 sunylat 阅读(16) | 评论 (0) 编辑
摘要: 一,安装 把linux版本的Gogland拷贝到Ubuntu16.04里面,随后在想要存放它的地方解压缩,这样就完成了安装! 二,让Gogland可以快速启动 linux版本的Gogland的启动是用一个shell脚本文件"gogland.sh",这个文件存放于刚才我们解压缩文件的"bin"目录里,阅读全文
posted @ 2017-02-15 00:17 sunylat 阅读(31) | 评论 (0) 编辑
摘要: Gogland是jetBrains公司出品的GO语言开发IDE,是目前最好的GO语言开发工具!!但是目前Gogland提供的试用版,有一定的使用期限,如何到期还能使用?经过我的测试,如果Gogland即将到期时,把正在使用的Gogland删除,随后重新安装,还可以继续试用,这样就可以一直使用下去! 阅读全文
posted @ 2017-02-14 09:08 sunylat 阅读(38) | 评论 (0) 编辑
摘要: Gogland编译Syncthing 源码目录说明 Syncthing启动过程分析 在Gogland中对Syncthing的各个模块进行调试 第三方库阅读全文
posted @ 2017-02-12 11:45 sunylat 阅读(11) | 评论 (0) 编辑
摘要: 我相信很多朋友会认为启动就是双击一下Syncthing程序图标,随后就启动完毕了!如果这样认为,对,也不对!对,是因为的确是这样操作,启动了Syncthing;不对是因为在调试Syncthing启动过程时发现很奇怪!有哪些奇怪的地方呢? 一,Syncthing启动的奇怪问题。 1,启动时候总是运行"阅读全文
posted @ 2017-02-11 16:32 sunylat 阅读(43) | 评论 (0) 编辑
摘要: 单元测试在程序开发中具有很重要的作用! 1,可以保证程序代码的健壮,能够最小范围测试程序代码,从而保证程序的正确性! 2,可以通过单元测试代码快速了解当前的程序。 我在先前的几个软件公司工作时候,都对程序代码进行单元测试,一般来说经过单元测试的程序质量都很好!!现在我使用Gogland来学习GO语言阅读全文
posted @ 2017-02-10 17:35 sunylat 阅读(160) | 评论 (0) 编辑
摘要: map是GO语言中的一种高级数据类型,特点是key和value对应,这和Delphi中的Dictionary一样!map的声明格式:map[key数据类型]value数据类型。使用map前,必须用make来创建! 示例:阅读全文
posted @ 2017-02-10 12:41 sunylat 阅读(7) | 评论 (0) 编辑
GO学习笔记 - 用defer来实现try{}finally{}
摘要: 在Delphi中,try{}finally{}语句非常有用,对于一定要最终执行的语句,我们放到finally,从而保证程序顺利执行!在GO语言中没有try{}finally{}语句,但是GO语言用另外一种方式实现了try{}finally{}语句,那就是defer!defer 语句会延迟函数的执行直阅读全文
posted @ 2017-02-10 12:04 sunylat 阅读(7) | 评论 (0) 编辑
GO学习笔记 - 没有条件的 switch 同 switch true 一样。
摘要: 官方教程:https://tour.go-zh.org/flowcontrol/11 没有条件的 switch 同 switch true 一样。 这一构造使得可以用更清晰的形式来编写长的 if-then-else 链。 官方示例:阅读全文
posted @ 2017-02-10 11:52 sunylat 阅读(3) | 评论 (0) 编辑
GO学习笔记 - Go 只有一种循环结构—— for 循环。
摘要: 一,Go 只有一种循环结构—— for 循环。 官方教程:https://tour.go-zh.org/flowcontrol/1 Go 只有一种循环结构—— for 循环。 基本的 for 循环包含三个由分号分开的组成部分: 初始化语句:在第一次循环执行前被执行 循环条件表达式:每轮迭代开始前被求阅读全文
posted @ 2017-02-10 11:43 sunylat 阅读(3) | 评论 (0) 编辑
摘要: 官方教程:https://tour.go-zh.org/basics/14 在定义一个变量却并不显式指定其类型时(使用 := 语法或者 var = 表达式语法), 变量的类型由(等号)右侧的值推导得出。 当右值定义了类型时,新变量的类型与其相同: 但是当右边包含了未指名类型的数字常量时,新的变量就可阅读全文
posted @ 2017-02-10 11:35 sunylat 阅读(4) | 评论 (0) 编辑
摘要: 官方教程:https://tour.go-zh.org/basics/13 表达式 T(v) 将值 v 转换为类型 T 。 一些关于数值的转换: 或者,更加简单的形式: 与 C 不同的是 Go 的在不同类型之间的项目赋值时需要显式转换。 试着移除例子中 float64 或 int 的转换看看会发生什阅读全文
posted @ 2017-02-10 11:34 sunylat 阅读(3) | 评论 (0) 编辑
GO学习笔记 - 变量在定义时没有明确的初始化时会赋值为“零值 ”。
摘要: 官方教程:https://tour.go-zh.org/basics/12 官方示例:阅读全文
posted @ 2017-02-10 11:29 sunylat 阅读(5) | 评论 (0) 编辑
摘要: 官方教程:https://tour.go-zh.org/basics/11 官方示例:阅读全文
posted @ 2017-02-10 11:26 sunylat 阅读(4) | 评论 (0) 编辑
摘要: 对于Delphi程序员,":="这个符号再熟悉不过了,表示对变量赋值!在GO语言中,同样表示赋值,但是和Delphi有些不同,不同就在于不需要var变量名称了!GO语言中的":="用于替代var,实现短声明变量! 官方教程:https://tour.go-zh.org/basics/10 官方示例代阅读全文
posted @ 2017-02-10 11:17 sunylat 阅读(3) | 评论 (0) 编辑
GO学习笔记 - 没有参数的 return 语句返回各个返回变量的当前值,这种用法被称作“裸”返回。
摘要: Go 的返回值可以被命名,并且就像在函数体开头声明的变量那样使用。 返回值的名称应当具有一定的意义,可以作为文档使用。 没有参数的 return 语句返回各个返回变量的当前值。这种用法被称作“裸”返回。 直接返回语句仅应当用在像下面这样的短函数中。在长的函数中它们会影响代码的可读性。 官方教程:ht阅读全文
posted @ 2017-02-10 11:10 sunylat 阅读(6) | 评论 (0) 编辑
GO学习笔记 - 函数名前面是否有输入参数肯定是不一样的!!
摘要: 在刚接触GO语言时候,我相信你也会有这种困惑,为什么有的函数名前面有输入参数,而一些却没有,它们是否有差别?确实有差别,没有输入参数,是一般的函数;有输入参数,是结构的方法,输入参数叫做“方法接收者”!GO语言没有类,方法都定义在结构上了!! 官方教程: 函 数:https://tour.go-zh阅读全文
posted @ 2017-02-10 00:21 sunylat 阅读(19) | 评论 (0) 编辑
GO学习笔记 - 包内首字母大写的名称是被导出的,才能被其它包代码调用!
摘要: 在GO语言的任意包内,如果名称的首字母是大写的,意味着这个名称被导出,在其它包中可以使用“包名.名称”方式来调用,如果名称首字母不是大写,那么只能在这个包内部使用!这个概念还真是和以往接触的编程语言的包和单元都不一样!! 官方教程:https://tour.go-zh.org/basics/3 实例阅读全文
posted @ 2017-02-09 22:58 sunylat 阅读(11) | 评论 (0) 编辑
摘要: 官方中文教程网址:https://tour.go-zh.org/basics/1 推荐理由:简洁,一句废话没有,对于初学者可以让大家快速掌握GO语言! 注意问题:如果不能访问,你懂的! 教程截图:阅读全文
posted @ 2017-02-09 22:02 sunylat 阅读(50) | 评论 (0) 编辑
摘要: 说明:我仅仅以这个Syncthing工程为例,来说明如何正确使用Goland编译其他人写的工程,应该具有普遍意义,看懂这篇博客,你想用Gogland去编译其他人的工程,应该不是问题!! Syncthing是一个免费开源的p2p软件,Go语言编写的! 官网:https://syncthing.net/阅读全文
posted @ 2017-02-07 08:30 sunylat 阅读(182) | 评论 (0) 编辑
摘要: 致歉声明:实在抱歉,因为自己对Go语言和Gogland的不熟悉,导致错误判断!无论LiteIDE和Goland都可以顺利使用同一个包下的其它文件内容!!Go语言本身就允许把一个包拆分成不同的文件,下面两个工具都完美支持!! LiteIDE 下载地址:https://sourceforge.net/p阅读全文
posted @ 2017-02-06 00:44 sunylat 阅读(26) | 评论 (0) 编辑
摘要: Go语言也支持面向对象开发,不过和以往我们所使用的面向对象开发还是有不同,Go语言主张组合方式形成类的概念,在Go语言中,结构起到很大作用,如果用结构组合字段和方法,那么单纯在源代码中看,真的是费时费力,尤其看别人写的代码,举例如下: 这个rawConnection是一个结构,同时它也定义了很多方法阅读全文
posted @ 2017-02-04 21:21 sunylat 阅读(75) | 评论 (0) 编辑
摘要: Gogland处于好意,在Go源代码中对每个参数提示类型,这或许方便大家处理源代码,但是我觉得对于正常阅读源代码反而造成一种负担,我决定去掉这个功能! Gogland默认配置状态,有参数提示: 下面是修改这项配置: 1,点击顶部菜单“File”->"Settings"。 2,在"Settings"配阅读全文
posted @ 2017-02-03 18:31 sunylat 阅读(45) | 评论 (0) 编辑
摘要: Gogland对Go源代码默认值为8个,我很不习惯,第一次遇到tab数量这么大的,于是我决定修改这个tab值! 1,点击顶部菜单“File”->"Settings"。 2,在弹出的“Settings”对话框左侧,选择“Editor”->"Code Style"->"Go",随后在右侧按照下图,修改t阅读全文
posted @ 2017-02-03 18:18 sunylat 阅读(41) | 评论 (0) 编辑