好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識(shí)庫 > golang一些常用的靜態(tài)檢查工具詳解

golang一些常用的靜態(tài)檢查工具詳解

熱門標(biāo)簽:杭州人工智能電銷機(jī)器人費(fèi)用 谷歌美發(fā)店地圖標(biāo)注 地圖區(qū)域圖標(biāo)注后導(dǎo)出 官渡電銷外呼管理系統(tǒng)怎么收費(fèi) 貴州電話智能外呼系統(tǒng) 赤峰電銷 利用地圖標(biāo)注位置 江蘇呼叫中心外呼系統(tǒng)有效果嗎 400開頭電話怎樣申請(qǐng)

一、背景

俗話說,工欲善其事,必先利其器。go 作為一個(gè)對(duì)基礎(chǔ)功能封裝非常好的語言,對(duì)編碼體驗(yàn),如何更高效地寫出高性能代碼,都是考慮非常好的。因此,如何能夠?qū)懗龈烙^、更安全的golang代碼,也是我們需要關(guān)注的目標(biāo)。go 本身也提供了非常多的工具供我們使用。

這里先將所有常用的指令放到這個(gè)表格中:

二、gofmt

主要修復(fù)代碼格式,比如代碼塊的tab。

2.1 參數(shù)說明

-l: 僅打印需要替換的文件名字,不替換文件內(nèi)容

如下:

-r: 指定替換規(guī)則,格式:-s “pattern -> replacement”

-s:顯式指定需要替換的文件

-w:直接修改目標(biāo)文件,且命令行不打印任何數(shù)據(jù)

idea 自帶,也可以使用下面的語句強(qiáng)行執(zhí)行

一般是對(duì)工程中變量名字的對(duì)齊,比如行開頭統(tǒng)一使用tab

注意:gofmt ≠ 代碼規(guī)范,比如它不會(huì)管單行是否超過了120個(gè)字符

2.2 go fmt

go fmt 是對(duì) gofmt 的簡(jiǎn)單封裝,比如一些通用的代碼規(guī)范規(guī)則,我們直接使用go fmt 就可以直接覆蓋了。效果如下:

當(dāng)然,和 gofmt 一樣,go fmt 也不能解決代碼本身的邏輯問題。

三、goimports(比gofmt 更常用)

goimports 是gofmt 的升級(jí)版,相對(duì)gofmt,它不僅可以修復(fù)代碼格式,還可以規(guī)范import 的格式。
比較規(guī)范的import 格式:

import(
 // 標(biāo)準(zhǔn)包
 "log"
 "json"
 ...
 // 內(nèi)部包
 "mygoproject/model/..."
 ...
 // 第三方包
 "github.com/..."
)

3.1 安裝

go get golang.org/x/tools/cmd/goimports

3.2 goland 配置

3.3 手動(dòng)格式化代碼/項(xiàng)目

修改某個(gè)文件:
goimports -w filename

修改整個(gè)目錄下的所有代碼:
goimports -w 目錄名

3.4 擴(kuò)展:為什么格式規(guī)范化推薦用 goimports 而不是 go fmt

總結(jié):goimports 也封裝了gofmt 的功能,而且goimports 會(huì)對(duì)無用import 刪除,對(duì)go 自己的包和第三方包 進(jìn)行整理,功能更強(qiáng)大。

四、go vet (靜態(tài)代碼檢查)

前面看到的 gofmt 和 goimports 都不涉及到代碼邏輯的檢查。那么接下來就是 go vet 大展手腳的地方了

4.1 執(zhí)行

掃描單個(gè)文件:
go vet filename.go

掃描整個(gè)項(xiàng)目:
go vet ./…

4.2 可以修復(fù)的問題 4.2.1 語法

比如這里我們使用 go routine 的語法有問題,執(zhí)行 go vet 會(huì)提示:function must be invoked in go statement

4.2.2 循環(huán) 和 goroutine/defer

還是前面的示例,把括號(hào)補(bǔ)充之后,依然會(huì)報(bào)錯(cuò):
loop variable currentFloat captured by func literal

這就是在循環(huán)中使用協(xié)程帶來的問題了。具體原因可以參考這個(gè)問答說明。

循環(huán)中使用 go routine 一定要注意參數(shù)的傳遞方式。正確的使用方式:

4.2.3 其他語法問題

比如永遠(yuǎn)是true/false的表達(dá)式,或者是不可到達(dá)的代碼等。

五、go module

管理項(xiàng)目依賴
專題介紹

六、附錄-其他參考文章

1、goland 自帶的go 工具

到此這篇關(guān)于golang一些常用的靜態(tài)檢查工具的文章就介紹到這了,更多相關(guān)golang靜態(tài)檢查工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • golang實(shí)現(xiàn)的文件上傳下載小工具
  • golang有用的庫及工具 之 zap.Logger包的使用指南
  • golang的基礎(chǔ)語法和常用開發(fā)工具詳解
  • 基于golang如何實(shí)現(xiàn)error工具包詳解
  • golang時(shí)間處理工具箱now的使用詳解

標(biāo)簽:保定 武漢 鷹潭 宜春 松原 黔西 河池 泰安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang一些常用的靜態(tài)檢查工具詳解》,本文關(guān)鍵詞  golang,一些,常用的,常,用的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《golang一些常用的靜態(tài)檢查工具詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于golang一些常用的靜態(tài)檢查工具詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产手机精品a| 96精品高清视频在线观看软件| 一级a看片2018视频| 张柏芝毛片| 老师穿超薄肉丝袜| 好男人看片在线影院| 漫画性姿势108式大全| 男男3p夹心边攻边受| 国产99精品免费视频看6| 皇上一边挺进贵妃紧窄湿润| 伊人大杳蕉久久婷婷66揉夜| 国产日产久久久久久精品加勒比| 免费?无码?国产床戏| ,亚洲 校园 春色 另类 激情| 国产美女精品自拍| JIZZ中国老师高潮喷水| 一级全黄色毛片| 韩国18??AV无码久久久亚洲| 我丰满的岳?4呻吟声| h系列女教师小说| japanesexxxx护士| 9久re热视频这里只有精品| 村长用力挺进她的花苞在线观看| yy6080久久伦理一区二区| 亚洲女毛茸茸妇女XXXX| 干湿你干湿你s货| 一级A片久久久免费直播间| 一级毛片毛片**毛片毛片| 人交乣女BABES娇小| 国产人人看| 小小11孩岁女A片?观看| 欧美巨大粗爽AV在线观看| 在教室伦流澡到高潮Hgl| 老翁的幸福春天| 麻麻的丝袜脚夹得我好爽| 青草影院在线| 亚洲日产精品一二三四区的优势| 大色综合| vr专区日韩精品中文字幕| 娇妻被灌满怀孕系列| 国产自产自拍|