Time of Update: 2018-08-13
1.4 Go開發工具 本節我將介紹幾個開發工具,它們都具有自動化提示,自動化fmt功能。因為它們都是跨平台的,所以安裝步驟之類的都是通用的。 LiteIDE LiteIDE是一款專門為Go語言開發的跨平台輕量級整合式開發環境(IDE),由visualfc編寫。 圖1.4 LiteIDE主介面 LiteIDE主要特點: 支援主流作業系統 Windows Linux MacOS X Go編譯環境管理和切換
Time of Update: 2018-08-13
Go語言資料收集 說明 發布網站 GitHub CSDN 新浪 最後更新 2012-01-21 整理最佳化格式,添加更多內容,詳見 變更記錄 緣起說明 想學習稱手的新語言,發現Go後非常感興趣,也把接觸到的一些資料整理共用出來。 資料若有錯誤或缺漏,或者大家有更好的建議,歡迎 郵件聯絡 可看 已收集建議
Time of Update: 2018-08-13
多核處理器越來越普及,那有沒有一種簡單的辦法,能夠讓我們寫的軟體釋放多核的威力。答案是:Yes。隨著Golang, Erlang, Scale等為並發設計的程式語言的興起,新的併發模式逐漸清晰。正如過程式編程和物件導向一樣,一個好的編程模式需要有一個極其簡潔的核心,還有在此之 上豐富的外延,可以解決現實世界中各種各樣的問題。本文以GO語言為例,解釋其中核心、外延。 併發模式之核心 這種併發模式的核心只需要協程和通道就夠了。其中協程負責執行代碼,通道負責在協程之間傳遞事件。
Time of Update: 2018-08-13
EMC中國研究院 顏開 簡介 多核處理器越來越普及,那有沒有一種簡單的辦法,能夠讓我們寫的軟體釋放多核的威力。答案是:Yes。隨著Golang, Erlang,
Time of Update: 2018-08-13
在使用WORD中,我們時常會用到頁首。但是加上頁首後,在頁首下往往有一橫線,可是我們有時根本不需要這條橫線,但它刪都刪不掉,怎麼辦呢,小弟在此奉上一計:一首先:開啟一文檔就不用說了,點擊“視圖”→“頁首和頁尾”,然後游標定位在頁首中,點擊“格式”→“邊框和底紋”下的“邊框”選項中,這時“應用範圍”顯示的是“文字”,將其修改為“段落”即可。二“視圖”→“頁首和頁尾”,將游標選中頁首上的那個小箭頭(記住一定要選中的哦。),然後“格式”→“邊框和底紋”,在“邊框”選項中將“設定”改為“無”,確定即可。
Time of Update: 2018-08-13
Time of Update: 2018-08-13
很多人對Go語言的array和slice傻傻分不清楚,今天我們就從底層出發,來聊聊它倆到底有什麼區別。數組幾乎所有電腦語言,數組的實現都是相似的:一段連續的記憶體,Go語言也一樣,Go語言的數組底層實現就是一段連續的記憶體空間。每個元素有唯一一個索引(或者叫下標)來訪問。如所示,是[5]int{1:10, 2:20}數組的內部實現邏輯圖:由於記憶體連續,CPU很容易計算索引(即數組的下標),可以快速迭代數組裡的所有元素。
Time of Update: 2018-08-13
寫在前面protobuf是Google開發的一種資料描述語言 (Data Description Language),能夠將結構化的資料序列化,可用於資料存放區,通訊協定等方面,官方版本支援 Go, C++, Java, Python,社區版本支援更多語言.相對於JSON和XML具有以下優點:體積小: 訊息大小隻需要XML的1/10 ~ 1⁄3速度快: 解析速度比XML快20 ~ 100倍整合度高: 使用Protobuf的編譯器,可以產生更容易在編程中使用的資料存取碼更好的相容性:
Time of Update: 2018-08-13
defer會經常用到,但是這個坑對於我並不會踩到,因為我通常不會用到命名返回參數,一則沒有多少必要,二則增加了代碼閱讀難度。不過,這個坑能讓人很好地理解return這個關鍵字,所以在此記錄下。func test() (res int) { res = 1 defer func() { res++ }() return 0}默默在心裡運行這個程式,第一個傳回值應該是0嘛,其實不然,return並不是個原子操作。分為了,賦值和返回兩個操作,<return
Time of Update: 2018-08-13
本文概述Web Sockets的目標是在一個單獨的持久串連上提供全雙工系統、雙向通訊。在Javascript建立了Web Socket之後,會有一個HTTP請求發送到瀏覽器以發起串連。在取得伺服器響應後,建立的串連會將HTTP升級從HTTP協議交換為WebSocket協議。 由於WebSocket使用自訂的協議,所以URL模式也略有不同。未加密的串連不再是http://,而是ws://;加密的串連也不是https://,而是wss://。在使用WebSocket URL時,必須帶著這個模式,
Time of Update: 2018-08-13
原文串連: 一文瞭解RPC以及gRPC基於Golang和Java的簡單實現一:什麼是RPC簡介:RPC:Remote Procedure Call,遠端程序呼叫。簡單來說就是兩個進程之間的資料互動。正常服務端的介面服務是提供給使用者端(在Web開發中就是瀏覽器)或者自身調用的,也就是本地程序呼叫。和本地程序呼叫相對的就是:假如兩個服務端不在一個進程內怎麼進行資料互動?使用RPC。尤其是現在微服務的大量實踐,服務與服務之間的調用不可避免,RPC更顯得尤為重要。原理:電腦的世界中不管使用哪種技術,
Time of Update: 2018-08-13
以太坊開發環境搭建配置以太坊環境** 安裝go環境因為以太坊是Go語言進行開發的,所以要在本機上安裝以太坊,首先需要安裝Go的環境,進入https://golang.org/dl/下載對應的Go語言套件。如果是Mac則下載go1.7.4.darwin-arm64.pkg,雙擊安裝即可。預設安裝在/usr/local/go目錄下,並且自動化佈建了環境變數。同時還需要配置一個GOPATH環境變數,作為Go的工作目錄。進入終端編輯.bash_profile檔案:vi
Time of Update: 2018-08-13
前言這一篇我們將要介紹如何定義變數、常量、Go內建類型以及Go程式設計中的一些技巧。(本文主要內容來自電子書《GO web 編程》)定義變數Go語言裡面定義變數有多種方式。使用var關鍵字是Go最基本的定義變數方式,與C語言不同的是Go把變數類型放在變數名後面://定義一個名稱為“variableName”,類型為"type"的變數var variableName type定義多個變數:// 定義三個類型都是“type”的變數var vname1, vname2, vname3
Time of Update: 2018-08-12
本文同時發布個人CSDN部落格: https://blog.csdn.net/ggq89/article/details/81148558相信不少 Gopher 在寫 Golang 程式都遇到過 import cycle not allowed 問題,本人最近研讀 go-ethereum 源碼時,發現定義 interface 也能解決此問題, 還能解決連分包都不能解決的情況, 並且比分包更加簡單快捷。下面逐個講解 分包 和 定義介面 這兩種方法。1. 應用情境假設有如下使用情境:A
Time of Update: 2018-08-12
本文同時發布個人CSDN部落格: https://blog.csdn.net/ggq89/article/details/81148558相信不少 `Gopher` 在寫 `Golang` 程式都遇到過 `import cycle not allowed` 問題,本人最近研讀 [go-ethereum](https://github.com/ethereum/go-ethereum) 源碼時,發現定義 `interface` 也能解決此問題, 還能解決連分包都不能解決的情況,
Time of Update: 2018-08-12
前言這兩周學了很多東西,還把golang語言基本掌握了,收穫還是挺多的。在做安全的過程中,有很多需要定時執行的任務,比如抓取主機數量,連接埠資料等,這都逃不開linux中的crontab命令,今天分享一下crontab這個小知識點。提醒大家一下,在大公司伺服器中,部署的基本上都是CentOS,所以大家想學CentOS上的操作,推薦大家看一下《鳥哥私房菜》命令說明crontab 命令可以在固定的間隔時間執行指定的系統指令或 shell
Time of Update: 2018-08-12
1. 安裝Go語言SDK https://www.golangtc.com/download2. 配置系統變數這建立GOROOT和GOPATH兩個目錄,分別對應sdk所在目錄與專案檔根目錄 3. 輸入go version 驗證是否成功 4. 安裝gomobile 1)cmd敲起命令(需要CMDFQ) go get golang.org/x/mobile/cmd/gomobilegomobile init 2)git clone
Time of Update: 2018-08-12
# 像Laravel-Artisan一樣執行go命令## 前言作為一個`laravel`重度患者,`artisan`是一個不可或缺的功能,可以說這是`laravel`的開發腳手架可以快速建立需要的檔案,加快開發速度而我目前正在開發的`bingo`架構正是受到`laravel`啟發,希望可以快速構建web應用而一個腳手架是必不可少的東西,所以我實現了一個`bingo sword` 工具### laravel-artisan實現思路我曾經寫過artisan的解析,連結在這裡[laravel
Time of Update: 2018-08-12
很多人對Go語言的``array``和``slice``傻傻分不清楚,今天我們就從底層出發,來聊聊它倆到底有什麼區別。# 數組 幾乎所有電腦語言,數組的實現都是相似的:一段連續的記憶體,Go語言也一樣,Go語言的數組底層實現就是一段連續的記憶體空間。每個元素有唯一一個索引(或者叫``下標``)來訪問。如所示,是``[5]int{1:10, 2:20}``數組的內部實現邏輯圖: ![array.png](https://static.studygolang.com/180812/06334
Time of Update: 2018-08-12
gosec是一個Go語言源碼安全分析工具,其通過掃描Go AST(抽象文法樹)來檢查原始碼是否存在安全問題。許可證根據Apache 2.0版本的License;除非符合許可,否則你將不能使用該檔案。你可以在這裡擷取到一個許可證的副本。安裝$ go get