網(wǎng)站首頁 編程語言 正文
Go語言介紹
1. Go語言的由來
Go語言亦叫Golang語言,是由谷歌Goggle公司推出。
傳統(tǒng)的語言比如c++,大家花費太多時間來學習如何使用這門語言,而不是如何更好的表達寫作者的思想,同時編譯花費的時間實在太長,對于編寫-編譯-運行這個鏈條來說周期太長。動態(tài)語言如Python,由于沒有強類型的約束,很多問題需要在運行時發(fā)現(xiàn),這種低級錯誤更應該交給編譯器來發(fā)現(xiàn)。于是Go誕生了。
2. Go語言的特點
Go語言保證了既能到達靜態(tài)編譯語言的安全和性能,又達到了動態(tài)語言開發(fā)速度和易維護性,有人形容Go語言:Go= C + Python , 說明Go語言既有C靜態(tài)語言程序的運行速度,又能達到Python動態(tài)語言的快速開發(fā)。Go語言有以下
特性:
1. 自動垃圾回收
C/C++最頭疼的就是指針問題,一不小心就野指針了或者又越界了。在Go語言里再也不用擔心,也不用考慮delete或者free,系統(tǒng)自動會回收。
2. 函數(shù)可以返回多個值
這個很神奇,大多數(shù)語言只能返回一個值,Go語言可以返回多個值。這個功能使得開發(fā)者再不用絞盡腦汁的想到底怎么返回值的設計,也不用為了傳值專門定義一個結構體。
3. 并發(fā)編程
Go語言天然并發(fā),只需要關鍵字“go”就可以讓函數(shù)并發(fā)執(zhí)行,使得并發(fā)編程變得更為簡單,這也是Go語言最大的優(yōu)勢。
4. 沒有依賴地獄, 甚至是glibc
5. 編譯一次,隨處拷貝,部署極為方便
Go 安裝
Go 有多種安裝方式,比如 Go 源碼安裝、Go 標準包安裝、第三方工具(yum、apt-get 等)安裝。
了解一下兩個環(huán)境變量:
GOROOT:GOROOT 就是 Go 的安裝路徑
GOPATH:GOPATH 是作為編譯后二進制的存放目的地和 import 包時的搜索路徑(其實也是你的工作目錄)
GOPATH目錄結構:
需要把GOPATH中的可執(zhí)行目錄也配置到環(huán)境變量中, 否則你自行下載的第三方go工具就無法使用了。
Linux平臺安裝Go
go_code // (例go_code為GOPATH目錄)
-- bin // golang編譯可執(zhí)行文件存放路徑,可自動生成。
-- pkg // golang編譯的*.a中間文件存放路徑,可自動生成。
-- src // go源碼路徑。按照golang默認約定,go run,go install等命令的當前工作路徑(即在此路
徑下執(zhí)行上述命令)。
使用 Linux,可以用如下方式快速安裝。
- 設置環(huán)境變量
在 ~/.bashrc 中添加 GOPATH 變量
添加完后,source ~/.bashrc
- 檢查
看到 go version 命令輸出 go 版本號 go1.10.2 linux/amd64,說明 go 命令安裝成功。
Windows平臺安裝Go
下載:
下載路徑:https://golang.google.cn/dl/go1.18.3.windows-amd64.msi
安裝msi文件
將安裝路徑添加到環(huán)境變量 :
如:go安裝到 C:\Program Files\Go目錄,則添加環(huán)境變量GOPATH: C:\Program Files\Go\
并將%GOPATH%\bin添加到PATH
$ wget https://golang.google.cn/dl/go1.18.3.linux-amd64.tar.gz
$ tar -xzvf go1.18.3.linux-amd64.tar.gz
$ mv go /usr/local/
# 安裝目錄
export GOROOT=/usr/local/go
# 代碼目錄
export GOPATH=~/code
export PATH=$PATH:$GOPATH:$GOROOT/bin
$ go version
go version go1.18.3 linux/amd
$ brew install go
$ go version
# go version go1.18.3 darwin/amd
檢查
打開cmd命令行,輸入:go version
IDE安裝
Linux平臺Vim 配置
Vim 是 Linux 下開發(fā)的最基本工具,可以配置一個 Vim IDE。我們可以使用開源的安裝工具,這里直接用該工具實現(xiàn)
一鍵配置,具體配置步驟如下。
下載 Vim 配置工具
2. 進入 lexVim 目錄,下載 go ide 需要的二進制文件:
2.啟動安裝腳本:
啟動后,會進入一個交互環(huán)境,依次輸入: 1 - > yourname -> youremail@qq.com,腳本最后輸出
this vim config is success !說明安裝成功。很簡單,只需 3 個選擇即可安裝成功,配置 IDE so easy。
Vim IDE 常用功能
在 Go 項目開發(fā)中最常用的功能是(!!必會!!):
gd 或者ctrl + ] 跳轉到對應的函數(shù)定義處 => 如果沒有反應請等待一下,可能慢
ctrl + o 跳轉到前一個位置
打開幫助,:q退出
打開目錄窗口,再按會關閉目錄窗口
最近文件列表,:q退出
添加函數(shù)注釋
其他:
展示tag,再按會關閉tag窗口
在 Vim 的上面打開文件查找窗口,:q退出
$ git clone https://github.com/lexkong/lexVim
$ cd lexVim
$ git clone https://github.com/lexkong/vim-go-ide-bin
$ ./start_vim.sh
ctrl + t 標簽退棧
<F9> 生成供函數(shù)跳轉的 tag
在代碼間跳來跳去,將光標放在某個函數(shù)調用上,按 ctl + ] 就會跳到函數(shù)的定義處,按 ctrl + o 就會跳回來。
退出某模式的窗口,使用末行模式 :q即可
注意:在vim中粘貼文本,需要 :set paste就能正常粘貼好了!
更多 Go vim ide 功能請參考 Vim IDE 功能。
Windows平臺GoLand安裝
下載地址:https://www.jetbrains.com/go/
可試用 30 天或自行破解
AB教程網(wǎng)下載:https://www.jb51.net/article/198515.htm
測試工具安裝
Linux平臺Curl工具
安裝curl
使用方法:
https://www.ruanyifeng.com/blog/2011/09/curl.html
https://www.ruanyifeng.com/blog/2019/09/curl-reference.html
Windows平臺 APIPOST安裝
下載地址:https://www.apipost.cn/?utm_source=10039&bd_vid=
無特殊需求下一步安裝即可
原文鏈接:https://blog.csdn.net/m0_63770801/article/details/125696448
相關推薦
- 2023-02-05 不同的編程語言輸出?“Hello?World”?代碼_其它綜合
- 2022-03-24 .Net?Core服務治理Consul使用服務發(fā)現(xiàn)_自學過程
- 2022-09-09 Nginx配置解決NetCore的跨域問題_nginx
- 2022-09-05 Spark Rdd之mapToPair,flatMapToPair
- 2022-09-20 windows?server2008?R2?角色遷移問題詳解_win服務器
- 2023-07-27 使用Echarts圖表時,頁面切換后并且改變頁面窗口大小,再切回原來頁面Echarts圖表顯示有問題
- 2023-07-09 echarts的series已經(jīng)為空但是還加載出數(shù)據(jù)
- 2022-12-26 python畫圖時linestyle,color和loc參數(shù)的設置方式_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支