日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件测试 | 测试开发 | Golang开发入门(一)

發(fā)布時間:2024/3/26 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件测试 | 测试开发 | Golang开发入门(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

GO語言簡介

Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發(fā)的一種靜態(tài)強類型、編譯型語言。Go 語言語法與 C 相近,但功能上有:內(nèi)存安全,GC(垃圾回收),結構形態(tài)及 CSP-style 并發(fā)計算。

與C++相比,Go并不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數(shù)等功能,但增加了切片(Slice) 型、并發(fā)、管道、垃圾回收、接口(Interface)等特性的語言級支持。Go 2.0版本將支持泛型。

Go環(huán)境搭建

1、要搭建Go語言開發(fā)環(huán)境,我們第一步要下載go的開發(fā)工具包

安裝包下載地址為:https://golang.org/dl/

如果打不開可以使用這個地址:

golang.google.cn

Downloads - The Go Programming Language

打開之后根據(jù)自己的操作系統(tǒng)下載對應版本的安裝包。開發(fā)工具包又分為安裝版和壓縮版,安裝版的工具包雙擊打開會出現(xiàn)安裝向導,選擇安裝的路徑,會自動設置好環(huán)境變量等信息,用起來比較方便一些。這里選擇安裝版的工具包進行安裝。

2、安裝Go

①.雙擊運行安裝文件,然后設置安裝目錄,點擊開始安裝就可以了。使用安裝版的工具包安裝完成后會自動添加好GOPATH的環(huán)境變量,如果是使用壓縮版安裝的需要手動添加GOPATH(剛剛安裝的go路徑)環(huán)境變量,并且在PATH變量中添加;%USERPROFILE%\go\bin。

②.打開終端,輸入 go version 命令,顯示出當前go的版本就是安裝成功了。

③.安裝好go環(huán)境之后,就可以在命令行使用 go run 命令運行go腳本了。

GO重點語法

1、切片(Slice)

Go 語言切片是對數(shù)組的一種抽象

Go 數(shù)組的長度是不可以改變的,在特定場景中這樣的集合就不太適用,Go中提供了一種靈活,功能強悍的內(nèi)置類型切片(“動態(tài)數(shù)組”),與數(shù)組相比切片的長度是不固定的,可以追加元素,在追加時可能使切片的容量增大。

可以聲明一個未指定大小的數(shù)組來定義切片:var identifier type,或使用make()函數(shù)來創(chuàng)建切片:var slice1 type = make(type, len);也可以指定容量,其中capacity為可選參數(shù)。make(T, length,capacity)。

直接初始化切片,s := int {1,2,3 },表示是切片類型,{1,2,3}初始化值依次是1,2,3.其cap=len=3。

初始化切片s,是數(shù)組arr的引用,s := arr[startIndex:endIndex],將arr中從下標startIndex到endIndex-1 下的元素創(chuàng)建為一個新的切片。s := arr[startIndex:] ,默認endIndex時將表示一直到arr的最后一個元素。s:= arr[:endIndex] ,默認startIndex時將表示從arr的第一個元素開始。

切片是可索引的,并且可以由len() 方法獲取長度。由 cap() 方法可以測量切片最長可以達到多少。

2、指針

Go 語言的取地址符是&,放到一個變量前使用就會返回相應變量的內(nèi)存地址。一個指針變量指向了一個值的內(nèi)存地址。

varvar_name*var-type

var-type 為指針類型,var_name為指針變量名,* 號用于指定變量是作為一個指針。以下是有效的指針聲明:

varip*int /* 指向整型*/ varfp*float32 /* 指向浮點型 */

首先,定義一個指針變量;然后,為指針變量賦值;賦值之后就可以訪問指針變量中指向地址的值。

func main() { var a int= 20 /* 聲明實際變量 */ varip *int /* 聲明指針變量 */ ip = &a /* 指針變量的存儲地址 */ fmt.Printf("a 變量的地址是: %x\n", &a )/* 指針變量的存儲地址 */ fmt.Printf("ip變量儲存的指針地址: %x\n", ip ) /* 使用指針訪問值 */ fmt.Printf("*ip變量的值: %d\n", *ip ) }

當一個指針被定義后沒有分配到任何變量時,它的值為 nil。nil 指針也稱為空指針。

nil在概念上和其它語言的null、None、nil、NULL一樣,都指代零值或空值。

func main() { varptr *int fmt.Printf("ptr的值為 : %x\n", ptr ) }

3、管道

管道(Channel)是Go語言中比較重要的部分,經(jīng)常在Go中的并發(fā)中使用。

①.管道的定義

varchanNamechanElemType,這里ElemType是指此管道所傳遞的類型。也可以使用make()方法來定義管道,ch := make(chanint, 100),size可以省略

②.管道的一些操作

<-操作符可以由管道中讀寫數(shù)據(jù),需要注意,<-操作符是與最左邊的chan優(yōu)先結合的。

向管道中寫入一個數(shù)據(jù),在此需要注意:向管道中寫入數(shù)據(jù)通常會導致程序阻塞,直到有其他goroutine從這個管道中讀取數(shù)據(jù)。

讀取數(shù)據(jù)時,需要注意:如果管道中沒有數(shù)據(jù),那么從管道中讀取數(shù)據(jù)會導致程序阻塞,直到有數(shù)據(jù)。

關閉channel,直接調用close()即可, close(ch)。

判斷ch是否關閉可以使用,x, ok := <-ch,判斷ok的值,如果是false,則說明已經(jīng)關閉(關閉的話讀取是不會阻塞的)。

var ch1 chan&lt;- float64 // 只能向里面寫入float64的數(shù)據(jù),不能讀取 var ch2 &lt;-chanint // 只能讀取int型數(shù)據(jù)

常用GO web框架

1

Beego

beego 是一個開源的Go應用HTTP 框架,他可以用來快速開發(fā)API、Web以及后端服務等各種應用。是一個完整的MVC框架,有自己的日志庫、ORM和Web框架。你不需要再去安裝第三方庫。它有一個稱為Bee Tool的內(nèi)置工具,用于監(jiān)視代碼更改,并在檢測到更改時運行任務。

2

Iris

Iris號稱是最快的Go后端web框架。支持http2,完備的MVC 支持。性能非常卓越,在眾多web框架中遙遙領先。另外iris提供的api都是極簡風格,很容易上手。支持中間件擴展,擁有豐富的中間件生態(tài)庫。擁有強大的路由功能,可以輕易的構建各種形式的RESTful API,路由分組、靜態(tài)路由、動態(tài)路徑參數(shù)化、通配符路由等待。還有http錯誤定義、上下文處理器、身份驗證、視圖模板、熱重啟、Websocket支持等等功能。

3

Buffalo

Buffalo是一個快速又簡單的web框架。當你開始一個新項目時,Buffalo可以為你提供一切——從前端到后端開發(fā)。Buffalo不僅僅是一個框架——它也是一個整體的Web開發(fā)生態(tài)系統(tǒng),可以讓你直接構建應用程序。

另外還有很多Go的開源框架,例如:Goji、Martini、Gin Gonic、Gocraft等,大家可以根據(jù)自己的實際應用和不同框架的特性來進行選擇。

本次分享主要對Golang的簡介,后續(xù)和大家分享如何用Golang開發(fā)簡單網(wǎng)站。

總結

以上是生活随笔為你收集整理的软件测试 | 测试开发 | Golang开发入门(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。