五个goland进行go开发的小技巧

五个goland进行go开发的小技巧

本文译自5 Tips To Speed Up Golang Development With IntelliJ Or Goland 确实很实用.

1. 实现interface

比如我想为下面的结构体实现共识interface


type MyConensus struct {

}

通过右键generate->implement methods->搜索engine
一键生成下面代码:

type MyConensus struct {
    info string
}

func (m *MyConensus) Author(header *types.Header) (common.Address, error) {
    panic("implement me")
}

func (m *MyConensus) VerifyHeader(chain ChainReader, header *types.Header, seal bool) error {
    panic("implement me")
}

func (m *MyConensus) VerifyHeaders(chain ChainReader, headers []*types.Header, seals []bool) (chan<- struct{}, <-chan error) {
    panic("implement me")
}

func (m *MyConensus) VerifyUncles(chain ChainReader, block *types.Block) error {
    panic("implement me")
}

func (m *MyConensus) VerifySeal(chain ChainReader, header *types.Header) error {
    panic("implement me")
}

func (m *MyConensus) Prepare(chain ChainReader, header *types.Header) error {
    panic("implement me")
}

func (m *MyConensus) Finalize(chain ChainReader, header *types.Header, state *state.StateDB, txs []*types.Transaction,
    uncles []*types.Header, receipts []*types.Receipt) (*types.Block, error) {
    panic("implement me")
}

func (m *MyConensus) Seal(chain ChainReader, block *types.Block, results chan<- *types.Block, stop <-chan struct{}) error {
    panic("implement me")
}

func (m *MyConensus) SealHash(header *types.Header) common.Hash {
    panic("implement me")
}

func (m *MyConensus) CalcDifficulty(chain ChainReader, time uint64, parent *types.Header) *big.Int {
    panic("implement me")
}

func (m *MyConensus) APIs(chain ChainReader) []rpc.API {
    panic("implement me")
}

func (m *MyConensus) Close() error {
    panic("implement me")
}

提取接口

面向接口编程,有时候我们需要针对已经实现的struct提取接口.
方法:
struct->Refactor->Extract->interfac

2. 使用模板

3.1 forr 快速展开for range

forr 然后tab,就会自动展开

    for key, value := range collection {

    }

3.2 err 错误处理

err 然后tab,自动展开如下:

4. 填充Struct

这个相对不是很实用,

5. 自动生成测试代码

这个非常使用,单元测试,我们专注于测试本身就ok了.
在文件任意位置->Genreate->Test for File-> 自动生成该文件对应的测试文件

原文地址:https://www.cnblogs.com/baizx/p/10836468.html

时间: 2024-10-28 15:47:24

五个goland进行go开发的小技巧的相关文章

[转]15个关于Chrome的开发必备小技巧

谷歌Chrome,是当前最流行且被众多web开发人员使用的浏览器.最快六周就更新发布一次以及伴随着它不断强大的开发组件,使得Chrome成为你必备的开发工具.例如,在线编辑CSS,console以及debugger这些常用的调试技术,或许你已经了解.在本篇文章中,我们将介绍15个炫酷且实用的技巧,这将更快的提高你的开发效率. 一.快速查找文件 如果你使用过Sublime,那么你会知道'Go to anything'的强大.没错,Chrome现在也有了这一功能. 操作如下: 1.F12打开你的Ch

windows phone 开发常用小技巧 - 退出应用之升级版(三秒内双击退出)

//设置一个DispatcherTimer,控制三秒内再次点击返回键时执行退出逻辑 public void ExitBy2Click(System.ComponentModel.CancelEventArgs e) { if (!IsExit) { IsExit = true; e.Cancel = true; _timer = new DispatcherTimer(); _timer.Start(); SystemTrayMessage.Instance.StartAdv("再按一次退出&q

windows phone 开发常用小技巧 - 退出应用

wp7 //退出应用 new Microsoft.Xna.Framework.Game().Exit(); ================================================== wp8中无法使用上边的方法,下边两种都可行 1. while (NavigationService.BackStack.Any()) NavigationService.RemoveBackEntry(); base.OnBackKeyPress(new CancelEventArgs()

开发各类小技巧

//此方法能得到你想要的小数点后位数double percent=Convert.ToDouble(2)/Convert.ToDouble(34);string result=string.Format("{0:0.00%}",percent);//得到5.88%string result=string.Format("{0:0.0000%}",percent);//得到5.8824% //用这个方法比较理想,能得到你想要的小数点后位数double percent=

windows phone 开发常用小技巧 - 命名空间 Microsoft.phone.Controls.Toolkit 中不存在名称

有时候从网上下来的项目示例,打开时页面会有莫名的找不到引用的报错,而dll文件确实存在,这有可能是文件被保护锁定了,找到该dll文件右键属性点击解除锁定,重新生成一下项目就可以了 windows phone 开发常用小技巧 - 命名空间 Microsoft.phone.Controls.Toolkit 中不存在名称

关于asp.net 开发的小技巧—让传值对象化

前端:前端 定义一个对象, 传值时实例此对象,序列化成json字符串 代码如下: 定义js对象: ///定义一个查询条件对象 var SearchCondition=function(){ this.Code=$("#Code").val(); this.ProjectID=$("#Project").val(); this.CustomerID=$("#Customer").val(); }; 序列化 $("#search"

小程序开发另类小技巧 --用户授权篇

本文主要帮助大家解决部分功能接口二次授权+统一管理(包含对于wx对象的扩展)问题,例如获取地理位置信息,收获地址,录音等授权问题 小程序开发另类小技巧 --用户授权篇 getUserInfo较为特殊,不包含在本文范围内,主要针对需要授权的功能性api,例如:wx.startRecord,wx.saveImageToPhotosAlbum, wx.getLocation 原文地址:https://www.yuque.com/jinxuanzheng/gvhmm5/arexcn 仓库地址:https

创业团队 iOS 开发的小技巧

真的是好久好久没有发文章了,其实攒了不少篇草稿:深入浅出 AFNetworking.如何阅读 crash 文件.UIKit response chain 等等,但是基本上,还没放出来,国内外的大大们写了同样的内容,而且基本上我想表达的都说了,写得还比我写得好. 但作为一个有输出的男人,还是要写点什么的.但我能分享给大家的除了创业经验,作合伙人的经验,也就剩下这种提升单兵作战能力的,歪门邪道小技巧了.于是,这里就准备开坑写这个系列.不过我这里推荐的基本上都是国内服务,但是大可放心,我完全没有收任何

[译]15个关于Chrome的开发必备小技巧

谷歌Chrome,是当前最流行且被众多web开发人员使用的浏览器.最快六周就更新发布一次以及伴随着它不断强大的开发组件,使得Chrome成为你必备的开发工具.例如,在线编辑CSS,console以及debugger这些常用的调试技术,或许你已经了解.在本篇文章中,我们将介绍15个炫酷且实用的技巧,这将更快的提高你的开发效率. 一.快速查找文件 如果你使用过Sublime,那么你会知道’Go to anything’的强大.没错,Chrome现在也有了这一功能. 操作如下: 1.F12打开你的Ch