bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

go語言代碼寫法 go語言代碼示例

GO語言(十五):泛型入門(下)-

在本節中,您將添加通用函數調用的修改版本,進行小的更改以簡化調用代碼。您將刪除在這種情況下不需要的類型參數。

十年的江北網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網絡營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整江北建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。成都創新互聯從事“江北網站設計”,“江北網站推廣”以來,每個客戶項目都認真落實執行。

當 Go 編譯器可以推斷您要使用的類型時,您可以在調用代碼中省略類型參數。編譯器從函數參數的類型推斷類型參數。

請注意,這并不總是可能的。例如,如果您需要調用沒有參數的泛型函數,則需要在函數調用中包含類型參數。

在 main.go 中,在您已有的代碼下方,粘貼以下代碼。

在此代碼中:

(1)調用泛型函數,省略類型參數。

從包含 main.go 的目錄中的命令行,運行代碼。

接下來,您將通過將整數和浮點數的并集捕獲到您可以重用的類型約束(例如從其他代碼中)來進一步簡化函數。

正如您將在本節中看到的,約束接口也可以引用特定類型。

1、編寫代碼

在此代碼中:

b.在您已有的函數下方,粘貼以下通用 SumNumbers函數。

在此代碼中:

c.在 main.go 中,在您已有的代碼下方,粘貼以下代碼。

在此代碼中:

(1)調用SumNumbers打印每個map的總和。

與上一節一樣,在調用泛型函數時省略了類型參數(方括號中的類型名稱)。Go 編譯器可以從其他參數推斷類型參數。

從包含 main.go 的目錄中的命令行,運行代碼。

做得很好!您剛剛學習了 Go 中的泛型。

用go語言寫一個簡單的加減乘除的代碼,急求 在線等

/*Note:YourchoiceisCIDE*/#include"stdio.h"#include"stdlib.h"#include"ctype.h"intn=0;charrecord[20];floatproduct();floatchange();floatmuli(){floatsumm;summ=product();while(record[n]=='-'||record[n]=='+'){switch(record[n]){case'+':n++;summ+=product();break;case'-':n++;summ-=product();break;}}returnsumm;}floatproduct(){floatsump;sump=change();while(record[n]=='*'||record[n]=='/'){switch(record[n]){case'*':n++;sump*=change();break;case'/':n++;sump/=change();break;}}returnsump;}floatchange(){floatsumc;charrec[20],i=0;if(record[n]=='('){n++;sumc=muli();}if(record[n]==')')n++;while(isdigit(record[n])||record[n]=='.'){while(isdigit(record[n])||record[n]=='.')rec[i++]=record[n++];rec[i]='\0';sumc=atof(rec);}returnsumc;}voidmain(){while(1){n=0;scanf("%s",record);printf("%s=%g\n",record,muli());}}這個是比較簡單的。。。但是有點難理解。。。不過運行絕對正確。。還支持括號。。。但是在這個程序里面我加沒有出錯處理。。。另一種方法是用棧寫。。。這個好理解。。但是麻煩。。。

Go語言和其他語言的不同之基本語法

Go語言作為出現比較晚的一門編程語言,在其原生支持高并發、云原生等領域的優秀表現,像目前比較流行的容器編排技術Kubernetes、容器技術Docker都是用Go語言寫的,像Java等其他面向對象的語言,雖然也能做云原生相關的開發,但是支持的程度遠沒有Go語言高,憑借其語言特性和簡單的編程方式,彌補了其他編程語言一定程度上的不足,一度成為一個熱門的編程語言。

最近在學習Go語言,我之前使用過C#、Java等面向對象編程的語言,發現其中有很多的編程方式和其他語言有區別的地方,好記性不如爛筆頭,總結一下,和其他語言做個對比。這里只總結差異的地方,具體的語法不做詳細的介紹。

種一棵樹最好的時間是十年前,其次是現在。

3)變量初始化時候可以和其他語言一樣直接在變量后面加等號,等號后面為要初始化的值,也可以使用變量名:=變量值的簡單方式

3)變量賦值 Go語言的變量賦值和多數語言一致,但是Go語言提供了多重賦值的功能,比如下面這個交換i、j變量的語句:

在不支持多重賦值的語言中,交換兩個變量的值需要引入一個中間變量:

4)匿名變量

在使用其他語言時,有時候要獲取一個值,卻因為該函數返回多個值而不得不定義很多沒有的變量,Go語言可以借助多重返回值和匿名變量來避免這種寫法,使代碼看起來更優雅。

假如GetName()函數返回3個值,分別是firstName,lastName和nickName

若指向獲得nickName,則函數調用可以這樣寫

這種寫法可以讓代碼更清晰,從而大幅降低溝通的復雜度和維護的難度。

1)基本常量

常量使用關鍵字const 定義,可以限定常量類型,但不是必須的,如果沒有定義常量的類型,是無類型常量

2)預定義常量

Go語言預定義了這些常量 true、false和iota

iota比較特殊,可以被任務是一個可被編譯器修改的常量,在每個const關鍵字出現時被重置為0,然后在下一個const出現之前每出現一個iota,其所代表的數字會自動加1.

3)枚舉

1)int 和int32在Go語言中被認為是兩種不同類型的類型

2)Go語言定義了兩個浮點型float32和float64,其中前者等價于C語言的float類型,后者等價于C語言的double類型

3)go語言支持復數類型

復數實際上是由兩個實數(在計算機中使用浮點數表示)構成,一個表示實部(real)、一個表示虛部(imag)。也就是數學上的那個復數

復數的表示

實部與虛部

對于一個復數z=complex(x,y),就可以通過Go語言內置函數real(z)獲得該復數的實部,也就是x,通過imag(z)獲得該復數的虛部,也就是y

4)數組(值類型,長度在定義后無法再次修改,每次傳遞都將產生一個副本。)

5)數組切片(slice)

數組切片(slice)彌補了數組的不足,其數據結構可以抽象為以下三個變量:

6)Map 在go語言中Map不需要引入任何庫,使用很方便

Go循環語句只支持for關鍵字,不支持while和do-while

goto語句的語義非常簡單,就是跳轉到本函數內的某個標簽

今天就介紹到這里,以后我會在總結Go語言在其他方面比如并發編程、面向對象、網絡編程等方面的不同及使用方法。希望對大家有所幫助。

Go語言基礎語法(一)

本文介紹一些Go語言的基礎語法。

先來看一個簡單的go語言代碼:

go語言的注釋方法:

代碼執行結果:

下面來進一步介紹go的基礎語法。

go語言中格式化輸出可以使用 fmt 和 log 這兩個標準庫,

常用方法:

示例代碼:

執行結果:

更多格式化方法可以訪問中的fmt包。

log包實現了簡單的日志服務,也提供了一些格式化輸出的方法。

執行結果:

下面來介紹一下go的數據類型

下表列出了go語言的數據類型:

int、float、bool、string、數組和struct屬于值類型,這些類型的變量直接指向存在內存中的值;slice、map、chan、pointer等是引用類型,存儲的是一個地址,這個地址存儲最終的值。

常量是在程序編譯時就確定下來的值,程序運行時無法改變。

執行結果:

執行結果:

Go 語言的運算符主要包括算術運算符、關系運算符、邏輯運算符、位運算符、賦值運算符以及指針相關運算符。

算術運算符:

關系運算符:

邏輯運算符:

位運算符:

賦值運算符:

指針相關運算符:

下面介紹一下go語言中的if語句和switch語句。另外還有一種控制語句叫select語句,通常與通道聯用,這里不做介紹。

if語法格式如下:

if ... else :

else if:

示例代碼:

語法格式:

另外,添加 fallthrough 會強制執行后面的 case 語句,不管下一條case語句是否為true。

示例代碼:

執行結果:

下面介紹幾種循環語句:

執行結果:

執行結果:

也可以通過標記退出循環:

--THE END--

網頁標題:go語言代碼寫法 go語言代碼示例
網站URL:http://vcdvsql.cn/article12/ddihigc.html

成都網站建設公司_創新互聯,為您提供網站設計、外貿網站建設、做網站、搜索引擎優化、外貿建站、軟件開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設