精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

go語言單測學習順序 go語言教程推薦

GO語言學習系列八——GO函數(func)的聲明與使用

GO是編譯性語言,所以函數的順序是無關緊要的,為了方便閱讀,建議入口函數 main 寫在最前面,其余函數按照功能需要進行排列

萬載網站建設公司創新互聯,萬載網站設計制作,有大型網站制作公司豐富經驗。已為萬載1000+提供企業網站建設服務。企業網站搭建\外貿網站制作要多少錢,請找那個售后服務好的萬載做網站的公司定做!

GO的函數 不支持嵌套,重載和默認參數

GO的函數 支持 無需聲明變量,可變長度,多返回值,匿名,閉包等

GO的函數用 func 來聲明,且左大括號 { 不能另起一行

一個簡單的示例:

輸出為:

參數:可以傳0個或多個值來供自己用

返回:通過用 return 來進行返回

輸出為:

上面就是一個典型的多參數傳遞與多返回值

對例子的說明:

按值傳遞:是對某個變量進行復制,不能更改原變量的值

引用傳遞:相當于按指針傳遞,可以同時改變原來的值,并且消耗的內存會更少,只有4或8個字節的消耗

在上例中,返回值 (d int, e int, f int) { 是進行了命名,如果不想命名可以寫成 (int,int,int){ ,返回的結果都是一樣的,但要注意:

當返回了多個值,我們某些變量不想要,或實際用不到,我們可以使用 _ 來補位,例如上例的返回我們可以寫成 d,_,f := test(a,b,c) ,我們不想要中間的返回值,可以以這種形式來舍棄掉

在參數后面以 變量 ... type 這種形式的,我們就要以判斷出這是一個可變長度的參數

輸出為:

在上例中, strs ...string 中, strs 的實際值是b,c,d,e,這就是一個最簡單的傳遞可變長度的參數的例子,更多一些演變的形式,都非常類似

在GO中 defer 關鍵字非常重要,相當于面相對像中的析構函數,也就是在某個函數執行完成后,GO會自動這個;

如果在多層循環中函數里,都定義了 defer ,那么它的執行順序是先進后出;

當某個函數出現嚴重錯誤時, defer 也會被調用

輸出為

這是一個最簡單的測試了,當然還有更復雜的調用,比如調試程序時,判斷是哪個函數出了問題,完全可以根據 defer 打印出來的內容來進行判斷,非常快速,這種留給你們去實現

一個函數在函數體內自己調用自己我們稱之為遞歸函數,在做遞歸調用時,經常會將內存給占滿,這是非常要注意的,常用的比如,快速排序就是用的遞歸調用

本篇重點介紹了GO函數(func)的聲明與使用,下一篇將介紹GO的結構 struct

怎樣學習GO語言?

golang學習比較簡單,不過任何一門語言都不是孤立存在的,在這里簡要說明一下golang開發的學習路線

1.golang基礎,包括go語言安裝,go語言語法,流程控制語句,函數,方法,面向對象概念,網絡編程,并發編程等

2.golang開發框架,包括beego,gin,Iris,Echo等

3.微服務開發

4.深入的話還可以學習算法部分。如果要接觸區塊鏈相關技術的話,還需要學習區塊鏈的加密算法等相關知識

5.如果要結合go實現應用的話,肯定離不開各種數據庫,比如關系型數據庫oracle、mysql,或者各類非關系型數據庫等等

6.如果需要開發界面的話,還需要學習網頁編程如html,javascript,vue,elementUI,bootstrap等網頁開發技術和框架。

7.在以上學習的基礎上還可以向架構方面深入學習。

鏈喬教育在線祝您學有所成。

怎么學習golang

除了Java、Python和JavaScript之外,如果要開始學習一門新語言的話,我想應該是Go!

Go語言正在被越來越多的公司使用。我們公司的后端服務已經全面采用Go語言實現了。

最開始接觸Go語言是去年將一份Go代碼“翻譯”成Python并集成到測試平臺上,說來也挺神奇,我從來沒學過Go卻完成了這個工作,這也側面反應了Go的語法還是很平易近人的。

今年,在海翔飛調崗之后已經沒有太多時間寫代碼了,但如果要開始學習一個新的語言或技術的話,我最想學的是Go!

目前來看,Go似乎還并沒有太多測試人員使用的場景,不過,我之前介紹過的BDD行為驅動框架gauge是由Go開發的,當然,它也支持使用Go來編寫BDD測試代碼。

對于,已經有一定開發經驗的同學,如何快速的開始學習Go語言呢?我這里給一些思路。

#### 第一步:下載和安裝

在配置環境的時候你需要重點了解GOROOT、GOPATH的作用。

你還要準備一款稱手的編輯器,如果你像我一樣,一直都在使用VS Code的話,那么就它就可以了。

#### 第二步:從hello world開始

先運行一個hello world程序,認識Go語言的語法。

package main

import ( ? ?"fmt")

func main(){

fmt.Println("helloworld!")

}

#### 第三步:熟悉Go的語法

接下來,你可能要花一周左右的時間熟悉Go語言的語法。比如,變量定義、if/for、函數、Map、跨文件的程序調用…等,當然,還有一些Go特有的知識。

當然,我更喜歡看視頻教程,雖然質量參差不齊,但我仍然覺得看視頻比我自己看書更有效率。

熟悉一段Go代碼:

package main

import"fmt"

func myFunc() {

i := 0

Here: ? //這行的第一個詞,以冒號結束作為標簽

fmt.Println(i)

i++ ? ?if i 10{ ? ? ? ?goto Here ? //跳轉到Here去

}

}func main() { ? ?//調用函數

myFunc()

}

#### 第四步:Go如何做單元測試

針對Go做測試也非常簡單。比如,這是一個被測試文件:add.go。

package test_demofunc Add(a int, b int) int{ ? ?return a + b

}

下面針對Add()函數編寫測試用例,test_add.go

package test_demo

import ( ? ?"testing")

func TestAdd1(t *testing.T){

r:= Add(1, 2) ? ?if r !=3{

t.Errorf("Add(1, 2)failed. Got %d, expected 3.", r)

}

}

func TestAdd2(t *testing.T){

r:= Add(2, 2) ? ?if r !=4{

t.Errorf("Add(2, 2)failed. Got %d, expected 4.", r)

}

}

你只需要執行?go test?命令就可以運行上面的測試了。

#### 第五步:從哪兒找第三方庫

當然,你只學習go語言本身,基本是做不了什么事的,必須要使用第三方擴展庫。

這里羅列了Go語言的第三方庫,通過這些第三方庫的介紹,我們也可以大概知道Go可以用來干什么。

如果你知道庫的名字的話,也可以在這個網站上搜索。

據我了解,Go的第三方庫大多都在GitHub上面。

#### 第六步:用Go做Web開發

Go是靜態語言,而且支持并發編程,所以,他有天然的性能優勢,大多公司主要使用Go也是開發后端服務(即API)。

終于到了實戰階段,如果我們真的要掌握一門語言,那么一定要用它來開發一個項目出來。這個過程大概需要一個月。

Beego是Go下在主流的Web開發框架,資料相對比較豐富,而且有完善的文檔。你可為此制定一個目標,比如用它來開發一個Blog,為此,你需要詳細閱讀Beego文檔,以及學習相關的Web開發技術。

等你完成這個項目的時候,我想你已經會使用Go語言了。


標題名稱:go語言單測學習順序 go語言教程推薦
文章起源:http://m.jcarcd.cn/article/ddiggop.html
主站蜘蛛池模板: 91福利精品电影 | 精品在线第一页 | 日韩精品午 | 国产资源一区 | 国产人澡人澡澡澡人 | 日本强伦姧| 国产有码在线观看 | 国产乱码一区 | 热99这里| 国产日韩欧美一区 | 91.精品国产| 老司机精品导航 | 欧美在线观看视 | 日韩成人免费 | 欧美亚洲综合一区 | 国产剧情传媒大片 | 日本三级欧美三级 | 国产高清自拍在线 | 国产最新进精品视频 | 日本特级婬片免费 | 人性情感短 | 国产午夜无| 91精品区| 欧美日韩国产在线 | 无码h黄肉动漫在线观看网站 | 国产精选在线视频 | 人人草影院 | 日韩男女性爱视频 | 日韩在线影院 | 日韩欧美色激情 | 国产视频一区四区 | 国内自拍网 | 国产福利在线观看永 | 日本亚洲综合在线 | 精品一区二区成人 | 国产精品∧| 日韩欧美午夜视频 | 国产初高中生视 | 91热爆在线精品 | 中文字幕热久 | 国产基zz视 |