五个goland进行go开发的小技巧(代码片段)

baizx baizx     2022-12-08     688

关键词:

五个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-> 自动生成该文件对应的测试文件
技术图片

使用goland进行go开发(代码片段)

...ogen在项目文件夹下创建三个文件夹——bin,pkg与src在goland中创建项目,Go一栏中设置代理GOPROXY=https://mirrors.aliyun.com/goproxyGOPATH中选择当前项目地址设置编译器配置修改 查看详情

golang2018.1.2激活及使用技巧(代码片段)

...。由于目前工作主要用Go语言进行底层开发,所以采用了GoLand开发工具,它跟Idea一样同为JetBrains公司的产品,本篇主要介绍下GoLand.2018.1.2的 查看详情

go语言开发goland常用快捷键(代码片段)

Go语言开发(十)、GoLand常用快捷键一、Goland快捷键设置GoLand支持各种编辑器的快捷键映射:File->Settings->Keymap二、GoLand常用快捷键1、查询快捷键CTRL+N查找类CTRL+SHIFT+N查找文件CTRL+SHIFT+ALT+N查找类中的方法或变量CTRL+B快速打开... 查看详情

go开发环境安装之goland和vscode(代码片段)

一、前言Go语言或将成为新的主力开发语言,Go是google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,所以我们有必要学习并掌握它。第一件事情,就是把环境搭建起来,大家可以... 查看详情

一文搞定go语言开发环境的搭建(代码片段)

...一路点击Next即可,直到出现如下界面,安装完成。2.配置Goland环境学习编程语言,使用一个称心的IDE,可以帮你省去很多麻烦。开发Python项目,我习惯使用PyCharm,因为已经习惯了JetBrains风格的IDE,可以替我省去很多熟悉新IDE的... 查看详情

提升前端开发效率及查错能力的小技巧(代码片段)

...下面的众多console输出中,如果不想都记,就记住关键的五个:console.log();co 查看详情

goland调试go(代码片段)

Goland调试Go从百度得知VSCode不能很好的支持Go的调试真让人肝儿疼——引言准备Win10ProGo(Version1.10)GoLand(2018.3)设置Go默认安装后,检查一下环境变量是否正确项目新建或打开一个GoProject,正常编写,本例在GOPATH下建立practise项目... 查看详情

goland技巧(代码片段)

postfix#.var会自动转化成如下内容,包括.forfmt.Sprintf("abc%d",10).varsprintf:=fmt.Sprintf("abc%d",10)快捷代码:forforiforrmethodlike(快捷键Ctrl+Space+Space)Command+p显示参数信息emm这个功能不晓得该叫什么,自行领悟吧。快捷键option 查看详情

go-goland(代码片段)

(一)  IDEA下载 https://www.jetbrains.com/go/download/  解压进入目录,执行bin下的./goland.sh  文件(二)  packagemainimport"fmt"funcmain()fmt.Println("HelloWorld") (三)快捷键   查看详情

go_笔试题记录-指针与值类型实现接口的区别(代码片段)

...。这里,我们基于Go目前最新版本Go1.12,通过module来搭建Goland开发环境。创建Project打开Goland,创建project,左侧选择GoModules(vgo 查看详情

go_笔试题记录-指针与值类型实现接口的区别(代码片段)

...。这里,我们基于Go目前最新版本Go1.12,通过module来搭建Goland开发环境。创建Project打开Goland,创建project,左侧选择GoModules(vgo 查看详情

15.go语言“避坑”与技巧(代码片段)

...o语言设计上可能发生错误的地方及Go语言本身的使用技巧进行总结和归纳。goroutine(Go语言并发)如何使用才更加高效?Go语言原生支持并发是被众人津津乐道的特性。goroutine早期是Inferno操作系统的一个试验性特性,而现在这个... 查看详情

android开发常用控件的小技巧(代码片段)

...巧分享一下。EditText布局文件中设置inputType无效处理办法开发中我们有时候会限制输入的内容,比如只能输入数字,但是布局文件中设置inputType有时候就是不起作用。此时我们可以在代码中这样设置:只能输入数字或... 查看详情

goland下tarsgo使用protobuf开发(代码片段)

...开始进入tarsgo正式的开发、使用与上传步骤。在我们完成goland下tarsgo使用protobuf开发第一部分后,我们得到如下目录:我们知道,helloworld.proto是protobuf的接口描述文件。通过tarsrpc插件生成的go接口文件被我们放到了proto/helloworld这... 查看详情

goland这些实操技巧,你可能还不会!

...定位问题的能力。GolangIDE被Gopher接受的其实不太多,Goland和VSCode应该是占比重最大的。vim-go真心就不推荐了,入门曲线太过陡峭,太过华而不实(vim党不要喷我),我们就写程序而已& 查看详情

go程序开发快速入门(代码片段)

...发一个hello.go程序,可以输出hello,world开发的步骤1、使用goland作为程序开发编辑器;2、将代码编写到扩展名为hello.go的文件中;3、通过gorun命令查看hello.go运行效果;4、通过gobuild命令对该go文件进行编译,生成系统可执行文件;5... 查看详情

go语言ide之vscode配置使用(代码片段)

...持JetBrains的插件体系。官方:https://www.jetbrains.com/go/。关于Goland相关配置参考该链接即可。Goland用的好好的,为啥突然想用到VSCode呢?VSCode是目前比较流行的IDE工具,在功能方面也相对齐全,使用方 查看详情

chrome35个开发者工具的小技巧(代码片段)

谷歌浏览器如今是Web开发者们所使用的最流行的网页浏览器。伴随每六个星期一次的发布周期和不断扩大的强大的开发功能,Chrome变成了一个必须的工具。大多数可能熟悉关于chorme的许多特点,例如使用console和debugger在线编辑CSS... 查看详情