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的整体结构,这个结构的全貌一览无遗,太棒了!!

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

  1. 浅析VS2010反汇编 VS 反汇编方法及常用汇编指令介绍 VS2015使用技巧 调试-反汇编 查看C语言代码对应的汇编代码

    浅析VS2010反汇编 2015年07月25日 21:53:11 阅读数:4374 第一篇 1. 如何进行反汇编 在调试的环境下,我们可以很方便地通过反汇编窗口查看程序生成的反汇编信息.如下图所示. ...

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

    鉴于ddd过于简陋,希望找一个新一些的调试工具,看到有很多人推荐gdbgui,这是一个非常新的调试工具,前端使用浏览器,现在采用这一架构的软件越来越多,可以完全不必依赖庞大的gui类库,安装使用比较方 ...

  3. 忘记常访问网站密码怎么办?教你如何查看浏览器已保存的密码,如何简单查看Chome浏览器保存的密码?

    利用场景: 同事或朋友外出有事,电脑未锁屏离开座位.可以利用这一间隙,查看Ta在Chrome浏览器上保存的账号密码 查看逻辑: 当我们要查看Chrome浏览器上保存的密码时,点击显示,会弹出一个对话框 ...

  4. LANG=C是最早最简单的C语言环境(标准ASCII码)

    LANG=C是最早最简单的C语言环境(标准ASCII码)

  5. 使用strace查看C语言级别的php源码

    XCACHE XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接 ...

  6. Linux下查看Go语言软件运行情况

    在Linux下,使用"jps"可以查看用Java语言写的软件的运行情况,如果要查看GO语言写的软件的运行情况,可以使用"gops",但这不是系统自带的,需要进行 ...

  7. 简单的C语言编译器--概述

      在学习了编译原理的相关知识后,逐渐的掌握一个编译器的结构.作用和实现方法.同时,希望自己在不断的努力下写出一个简单的C语言编译器. 实现步骤 词法分析器:将C语言测试代码分解成一个一个的词法单元: ...

  8. 一个简单的C语言程序(详解)

    C Primer Plus之一个简单的C语言程序(详解) #include <stdio.h> int main(void) //一个简单的 C程序 { int num; //定义一个名为 ...

  9. Eclipse中查看JDK类库源代码

    在Eclipse中编写代码时,有时候可能需要了解JDK类库的一些特性,这个时候可以通过查看类的源代码来了解JDK类的详细信息.本文主要内容就是如何直接在Eclipse开发环境中查看JDK类库源代码. ...

随机推荐

  1. spring data jpa 的各种查询总结

    参考哦:https://blog.csdn.net/weixin_36667844/article/details/79945156

  2. Cloudera Manger CDH 安装文档

    简介: Cloudera Manager 是 Cloudera 公司推出的 Hadoop 集群管理工具,通过该管理工具可以方便的部署.配置.监控集群. Cloudera 公司自己发布的 Hadoop ...

  3. shell中比较字符串大小,>和<前需要加上\进行转义,否则会输出到文件了

    遇到的问题:进行了目录的字符串大小比较,结果在目录下生成了很多的新文件 解决方法:在>和<的比较符号前增加\转义   代码如下: #/usr/bin/bash cd /opt/scf/se ...

  4. Fragment生命周期(转)

    Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕要比手机的大得多,有更多的空间来放更多的UI组件,并且 ...

  5. word2vec 细节解析1

    count.extend(collections.Counter(list1).most_common(2))表示:使用collections.Counter统计list1列表重单词的频数,然后使用m ...

  6. 110. Balanced Binary Tree (Tree; DFS)

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  7. Halcon中xld的常见特征的含义总结

    如下图:

  8. genymotion的安装

    1.安装virtualBox google的模拟器是运行在qemu上面的. genymotion这个模拟器运行在virtualBox上面.

  9. POJ 2396 Budget (有源汇有上下界最大流)

    题意:给定一个矩阵的每行的和和每列的和,以及每个格子的限制,让你求出原矩阵. 析:把行看成X,列看成Y,其实就是二分图,然后每个X到每个Y边一条边,然后加一个超级源点和汇点分别向X和Y连边,这样就形成 ...

  10. TP5 通过shell建立PHP守护程序

    用 vim建立 /etc/init.d/keepalive文件 #!/bin/bash # chkconfig: 2345 10 90 # description: Start and Stop KE ...