前言
- go語(yǔ)言(golang) 是一個(gè)開(kāi)源的編程語(yǔ)言,它能讓構(gòu)造簡(jiǎn)單凯傲、可靠且高效的軟件變得容易搪泳,作為測(cè)試人員,常常以Python作為自己的測(cè)試腳本或測(cè)試工具主要的實(shí)現(xiàn)語(yǔ)言姿现,但是Python始終有其限制性肠仪,尤其是在性能方面,所以學(xué)習(xí)一門高性能的語(yǔ)言可以彌補(bǔ)測(cè)試人員在語(yǔ)言方面的豐富度备典,從本文開(kāi)始异旧,接下來(lái)會(huì)以一個(gè)系列的形式,通過(guò)go語(yǔ)言來(lái)進(jìn)行分層測(cè)試提佣,從單元吮蛹,接口荤崇,功能以及性能的測(cè)試立足于go語(yǔ)言上進(jìn)行講解
入門慣例
- 每一門機(jī)器語(yǔ)言的入門,都會(huì)經(jīng)歷一下向世界問(wèn)好的階段潮针,于是我們也用golang弄個(gè)hello world
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
- 我們以python作為參考對(duì)比术荤,package main相當(dāng)于聲明這是主模塊,就像python的main模塊
if __name__=="__main__":
- import 是golang導(dǎo)入模塊或依賴的主要關(guān)鍵字每篷,一般情況下都會(huì)使用到fmt模塊瓣戚,這是golang最基本的依賴模塊,最后輸出的結(jié)果為:
$ go run hello.go
Hello, World!
- 執(zhí)行g(shù)olang代碼焦读,用go run命令+go執(zhí)行文件名即可
- 關(guān)于其他go語(yǔ)言的基本入門可參考以下鏈接的記錄:go語(yǔ)言入門教程
- 本文主要講解下go語(yǔ)言中的結(jié)構(gòu)體和指針
結(jié)構(gòu)體 struct
- Go 語(yǔ)言中數(shù)組可以存儲(chǔ)同一類型的數(shù)據(jù)子库,但在結(jié)構(gòu)體中我們可以為不同項(xiàng)定義不同的數(shù)據(jù)類型。
- 結(jié)構(gòu)體是由一系列具有相同類型或不同類型的數(shù)據(jù)構(gòu)成的數(shù)據(jù)集合
- 和面向?qū)ο髮?duì)比矗晃,可以將結(jié)構(gòu)體簡(jiǎn)單地認(rèn)為是沒(méi)有方法的類仑嗅,結(jié)構(gòu)體一般只定義當(dāng)前結(jié)構(gòu)體的屬性,比如
type Books struct {
title string
author string
subject string
book_id int
}
- 這是書本的結(jié)構(gòu)體张症,包含有字符串類型的書名无畔、作者以及分類,還有整型的書本id吠冤,這樣由不同的數(shù)據(jù)構(gòu)建的一個(gè)表示書本的數(shù)據(jù)集合浑彰,這個(gè)就是golang中的結(jié)構(gòu)體,也是在接下來(lái)的講解中會(huì)經(jīng)常用到
指針 pointer
- 一個(gè)指針變量指向了一個(gè)值的內(nèi)存地址拯辙。
- 類似于變量和常量郭变,在使用指針前你需要聲明指針。指針聲明格式如下
var var_name *var-type
- 在golang的使用中如下
package main
import "fmt"
func main() {
var a int= 20 /* 聲明實(shí)際變量 */
var ip *int /* 聲明指針變量 */
ip = &a /* 指針變量的存儲(chǔ)地址 */
fmt.Printf("a 變量的地址是: %x\n", &a )
/* 指針變量的存儲(chǔ)地址 */
fmt.Printf("ip 變量?jī)?chǔ)存的指針地址: %x\n", ip )
/* 使用指針訪問(wèn)值 */
fmt.Printf("*ip 變量的值: %d\n", *ip )
}
以上實(shí)例執(zhí)行輸出結(jié)果為:
a 變量的地址是: 20818a220
ip 變量?jī)?chǔ)存的指針地址: 20818a220
*ip 變量的值: 20
- 在接下來(lái)的講解中涯保,會(huì)經(jīng)常用到指針變量诉濒,在這里先簡(jiǎn)單帶過(guò),在之后的文章里面在繼續(xù)深入的應(yīng)用和了解
系列內(nèi)容
-
簡(jiǎn)單介紹了以下golang之后夕春,接下來(lái)的文章會(huì)介紹各種基于go語(yǔ)言開(kāi)發(fā)的測(cè)試工具或測(cè)試平臺(tái)未荒,以實(shí)現(xiàn)基于go語(yǔ)言分層測(cè)試的一套測(cè)試體系,其中包括以下框架或工具:
- 單元測(cè)試:gocheck
- 接口測(cè)試:httptest
- Mock:gomock
- 自動(dòng)化測(cè)試:testing
- 性能測(cè)試:go test -bench 及志、vegeta
- 性能監(jiān)控:go tool pprof
一是希望接下來(lái)自己能堅(jiān)持學(xué)習(xí)寫下去片排,二是希望你看了我的文章會(huì)有所收獲,謝謝了