case QImage::Format_RGB32:
在聶榮等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站建設、成都網(wǎng)站建設 網(wǎng)站設計制作按需策劃,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,成都品牌網(wǎng)站建設,全網(wǎng)整合營銷推廣,外貿(mào)營銷網(wǎng)站建設,聶榮網(wǎng)站建設費用合理。
case QImage::Format_ARGB32:
case QImage::Format_ARGB32_Premultiplied:
for(int i = 0; i height; i ++)
{
const QRgb *pSrc = (QRgb *)image.constScanLine(i);
uchar *pDest = (uchar *)ret.scanLine(i);
for( int j = 0; j width; j ++)
{
pDest[j] = qGray(pSrc[j]);
}
}
break;
}
return ret;
}
在本節(jié)中,您將添加通用函數(shù)調(diào)用的修改版本,進行小的更改以簡化調(diào)用代碼。您將刪除在這種情況下不需要的類型參數(shù)。
當 Go 編譯器可以推斷您要使用的類型時,您可以在調(diào)用代碼中省略類型參數(shù)。編譯器從函數(shù)參數(shù)的類型推斷類型參數(shù)。
請注意,這并不總是可能的。例如,如果您需要調(diào)用沒有參數(shù)的泛型函數(shù),則需要在函數(shù)調(diào)用中包含類型參數(shù)。
在 main.go 中,在您已有的代碼下方,粘貼以下代碼。
在此代碼中:
(1)調(diào)用泛型函數(shù),省略類型參數(shù)。
從包含 main.go 的目錄中的命令行,運行代碼。
接下來,您將通過將整數(shù)和浮點數(shù)的并集捕獲到您可以重用的類型約束(例如從其他代碼中)來進一步簡化函數(shù)。
正如您將在本節(jié)中看到的,約束接口也可以引用特定類型。
1、編寫代碼
在此代碼中:
b.在您已有的函數(shù)下方,粘貼以下通用 SumNumbers函數(shù)。
在此代碼中:
c.在 main.go 中,在您已有的代碼下方,粘貼以下代碼。
在此代碼中:
(1)調(diào)用SumNumbers打印每個map的總和。
與上一節(jié)一樣,在調(diào)用泛型函數(shù)時省略了類型參數(shù)(方括號中的類型名稱)。Go 編譯器可以從其他參數(shù)推斷類型參數(shù)。
從包含 main.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語言代碼:
go語言的注釋方法:
代碼執(zhí)行結(jié)果:
下面來進一步介紹go的基礎語法。
go語言中格式化輸出可以使用 fmt 和 log 這兩個標準庫,
常用方法:
示例代碼:
執(zhí)行結(jié)果:
更多格式化方法可以訪問中的fmt包。
log包實現(xiàn)了簡單的日志服務,也提供了一些格式化輸出的方法。
執(zhí)行結(jié)果:
下面來介紹一下go的數(shù)據(jù)類型
下表列出了go語言的數(shù)據(jù)類型:
int、float、bool、string、數(shù)組和struct屬于值類型,這些類型的變量直接指向存在內(nèi)存中的值;slice、map、chan、pointer等是引用類型,存儲的是一個地址,這個地址存儲最終的值。
常量是在程序編譯時就確定下來的值,程序運行時無法改變。
執(zhí)行結(jié)果:
執(zhí)行結(jié)果:
Go 語言的運算符主要包括算術(shù)運算符、關(guān)系運算符、邏輯運算符、位運算符、賦值運算符以及指針相關(guān)運算符。
算術(shù)運算符:
關(guān)系運算符:
邏輯運算符:
位運算符:
賦值運算符:
指針相關(guān)運算符:
下面介紹一下go語言中的if語句和switch語句。另外還有一種控制語句叫select語句,通常與通道聯(lián)用,這里不做介紹。
if語法格式如下:
if ... else :
else if:
示例代碼:
語法格式:
另外,添加 fallthrough 會強制執(zhí)行后面的 case 語句,不管下一條case語句是否為true。
示例代碼:
執(zhí)行結(jié)果:
下面介紹幾種循環(huán)語句:
執(zhí)行結(jié)果:
執(zhí)行結(jié)果:
也可以通過標記退出循環(huán):
--THE END--
新聞名稱:GO語言代碼表 go語言 gin
網(wǎng)站網(wǎng)址:http://www.chinadenli.net/article24/dddocje.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、網(wǎng)站設計、網(wǎng)站維護、動態(tài)網(wǎng)站、標簽優(yōu)化、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)