Gogland使用 - 非常简单查看Go语言源代码全貌!

Go语言也支持面向对象开发,不过和以往我们所使用的面向对象开发还是有不同,Go语言主张组合方式形成类的概念,在Go语言中,结构起到很大作用,如果用结构组合字段和方法,那么单纯在源代码中看,真的是费时费力,尤其看别人写的代码,举例如下:

type rawConnection struct {
	id       DeviceID
	name     string
	receiver Model

	cr *countingReader
	cw *countingWriter

	awaiting    map[int32]chan asyncResult
	awaitingMut sync.Mutex

	idxMut sync.Mutex // ensures serialization of Index calls

	nextID    int32
	nextIDMut sync.Mutex

	outbox      chan asyncMessage
	closed      chan struct{}
	once        sync.Once
	pool        bufferPool
	compression Compression
}

这个rawConnection是一个结构,同时它也定义了很多方法,如果仅仅在源代码里面查看,真的让你晕头转向,我刚才看rawConnection时候,看了半天,也没能完整了解它,但是,当我打开Gogland的“Structure”时候,真的不得不表扬Gogland,做得太棒了,立即完整展现了rawConnection,包括它所有的字段和方法,让我能够快速完整了解rawConnection!!Gogland默认情况下,“Structure”好像并没有打开,如果没有打开,我们可以点击顶部菜单打开:“View”->"Tools Windows"->"Structure",也可以通过快捷键“Alt+7”打开。

通过“Structure”查看rawConnection的整体结构,这个结构的全貌一览无遗,太棒了!!

时间: 2024-11-16 17:09:42

Gogland使用 - 非常简单查看Go语言源代码全貌!的相关文章

numpy C语言源代码调试(三)

鉴于ddd过于简陋,希望找一个新一些的调试工具,看到有很多人推荐gdbgui,这是一个非常新的调试工具,前端使用浏览器,现在采用这一架构的软件越来越多,可以完全不必依赖庞大的gui类库,安装使用比较方便. 开始使用gdbgui遇到了一些困难,怎么也无法开始调试,后来发现是因为图标导致理解错误. gdbgui的界面比较直观,总体来说还算好用,但是我个人不是很喜欢gdbgui的风格. 首先在上面输入命令行,当然也可以在启动gdbgui的时候直接输入,两种方式均可,最简单的办法是在命令行执行下面的命令

递归学习(一)最简单的C语言递归求年龄算法

递归是我们在学习编程中,必须要去学习的,虽然递归晦涩难懂 ,但是很多时候,递归的思想会很有用,但是在实际开发中,不建议使用递归,要用循环来代替递归,不然bug无穷. ----------------------------------------------------------- 问题描述: 有5个人坐在一起, 问第5个人,他说比第4个人大2岁, 问第4个人,他说比第3个人大2岁, 问第3个人,他说比第2个人大2岁, 问第2个人,他说比第1个人大2岁, 问最后一个人,他说10岁 第5个人多大

如何查看linux命令源代码

如何查看linux命令源代码 用linux一段时间了,有时候想看看ls.cat.more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下: 以搜索ls命令源码为例,先搜索命令所在包,命令如下: [email protected]:~$ which ls /bin/ls 用命令搜索该软件所在包,代码如下: [email protected]:~$ dpkg -S /bin/ls coreutils: /bin/ls 从上一步中可以知道ls命令的实现在包c

最简单的C语言程序

声明:本人知识有限,文章可能有误或不全面,望指正并讨论! 最简单的C语言程序,应该就是一个main函数,而main里什么也不做了.如下: C文件main.c: int main() {     return 0; } 在 unix/linux下编译,后生成可执行程序main,并执行main: # cc -Wall -o main main.c # ./main # 程序无输出. 这是一个最简单的C语言程序了,但虽然是最简单,也有值得注意的地方. 为什么会是main函数? 因为main函数是链接生

java实现简单web服务器(分析+源代码)

在日常的开发中,我们用过很多开源的web服务器,例如tomcat.apache等等.现在我们自己实现一个简单的web服务器,基本的功能就是用户点击要访问的资源,服务器将资源发送到客户端的浏览器.为了简化操作,这里不考虑资源不存在等异常情况.web服务基于的是HTTP协议,用户在浏览器的地址栏输入要访问的地址,服务器如何得到该地址是个关键.先看下一般的HTTP请求和响应报文的一般格式: HTTP 请求报文 HTTP 响应报文 web服务器获取一个用户的连接时,会初始化一个线程和用户通信,代码如下:

C语言源代码——计算任何一天是星期几

代码写的不严谨. 网上也有很多计算任何一天是星期几的C语言源代码,不过,有些代码含有一点点小错误.像闰年的分辨啊,或者是每个月的天数,再或者星期的计算公式,都是比较细微的环节,出一点错误都有可能导致结果不正确.这一点,我都进行过验证.下面我选出的这组代码,结构清晰,语法明确.希望能给各位C的爱好者或者要考计算机二级的同学们一点点帮助!当然,有错误的话,也请各位指出! 代码如下: 1 #include <stdio.h> 2 int main() 3 { 4 int day,mn,yr,i,da

JS禁止别人查看网页的源代码

<html> <head> <title>JS禁止别人查看网页的源代码丨石家庄展柜制作|石家庄叉车</title> <script> function clear(){ Source=document.body.firstChild.data; document.open(); document.close(); document.title="没有源码"; document.body.innerHTML=Source; }&

对于eclipse写java程序时,想查看一下java源代码,出现Source not found 的原因与解决办法

对于eclipse写java程序时,想查看一下java源代码,出现Source not found 如下图: 原因Eclipse默认设定的自带的JDK是没有源src的,需要引入,点击attach Source...添加jdk的src.zip就可以了

C++中 简单查看临时对象,局部对象的生命周期,及拷贝构造函数(测试代码)

#include <iostream> using namespace std; class A {     public: A(int a = 5) {     cout<<"A constructor "<<this<<endl; } ~A() {     cout<<"A destructor "<<this<<endl; } A(const A & r) {