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. Rhythmk 学习 Hibernate 04 - Hibernate 辅助工具 之 JBoos Tool

    1.安装JBoos Tool Help -> Install new Software 然后添加: http://download.jboss.org/jbosstools/updates/de ...

  2. leetcode172

    public class Solution { public int TrailingZeroes(int n) { ) { ; } else { ; var y = TrailingZeroes(x ...

  3. BURG For Ubuntu 14.04 Trusty

    sudo add-apt-repository ppa:n-muench/burg sudo apt-get updatesudo apt-get install burg burg-themes D ...

  4. my sql存储过程 基本使用

    --------------创建不带参数的存储过程----------------- DELIMITER;; drop PROCEDURE if EXISTS selectStudent; creat ...

  5. 7.25 6figting!

    TEXT 82 Proton 马来西亚宝腾汽车 A fork in the road 何去何从?(陈继龙编译) Nov 30th 2006 | HONG KONG From The Economist ...

  6. servlet访问路径的写法

    <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://w ...

  7. 【HTTP请求】、详解

    一.协议介绍 HTTP(HyperText Transfer Protocol,超文本传输协议)是一套计算机通过网络进行通信的规则,使HTTP客户端能够从HTTP服务器端请求到信息和服务,目前的版本号 ...

  8. ansible Developing Plugins

    Action plugins是模块的前端,可以在调用模块本身之前对控制器执行操作. Cache plugins用于保存“facts”的缓存,以避免代价高昂的fact-gathering操作. Call ...

  9. Python运维开发基础03-语法基础

    上节作业回顾(讲解+温习60分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen #只用变量和字符串+循环实现" ...

  10. JSP中的<jsp:include...>和<%@include %>

    jsp中include有两种写法, 都是包含一个页面或者一个文件的意思, 写法略有不同 <jsp:include page = "url" />或者<jsp:in ...