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

創(chuàng)新互聯(lián)建站主營呼圖壁網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都APP應用開發(fā),呼圖壁h5微信小程序開發(fā)搭建,呼圖壁網(wǎng)站營銷推廣歡迎呼圖壁等地區(qū)企業(yè)咨詢
先來看一個簡單的go語言代碼:
go語言的注釋方法:
代碼執(zhí)行結果:
下面來進一步介紹go的基礎語法。
go語言中格式化輸出可以使用 fmt 和 log 這兩個標準庫,
常用方法:
示例代碼:
執(zhí)行結果:
更多格式化方法可以訪問中的fmt包。
log包實現(xiàn)了簡單的日志服務,也提供了一些格式化輸出的方法。
執(zhí)行結果:
下面來介紹一下go的數(shù)據(jù)類型
下表列出了go語言的數(shù)據(jù)類型:
int、float、bool、string、數(shù)組和struct屬于值類型,這些類型的變量直接指向存在內存中的值;slice、map、chan、pointer等是引用類型,存儲的是一個地址,這個地址存儲最終的值。
常量是在程序編譯時就確定下來的值,程序運行時無法改變。
執(zhí)行結果:
執(zhí)行結果:
Go 語言的運算符主要包括算術運算符、關系運算符、邏輯運算符、位運算符、賦值運算符以及指針相關運算符。
算術運算符:
關系運算符:
邏輯運算符:
位運算符:
賦值運算符:
指針相關運算符:
下面介紹一下go語言中的if語句和switch語句。另外還有一種控制語句叫select語句,通常與通道聯(lián)用,這里不做介紹。
if語法格式如下:
if ... else :
else if:
示例代碼:
語法格式:
另外,添加 fallthrough 會強制執(zhí)行后面的 case 語句,不管下一條case語句是否為true。
示例代碼:
執(zhí)行結果:
下面介紹幾種循環(huán)語句:
執(zhí)行結果:
執(zhí)行結果:
也可以通過標記退出循環(huán):
--THE END--
(1)讀入初始化時輸入的機位數(shù)和貨物數(shù),以及各貨物的重量;
(2)設定初始種群大小,隨機產生初始種群,以二進制表示每個個體的停機位分配方案;
(3)計算每個個體的適應度函數(shù)值,適應度值越大表示解被優(yōu)化的機位分配越優(yōu);
(4)根據(jù)預設輪盤賭概率選擇種群優(yōu)秀個體進行交叉操作;
(5)根據(jù)預設變異概率進行變異操作;
(6)重復進化若干代,每一代計算受操作的種群最優(yōu)個體(最優(yōu)解);
(7)將進化一定代數(shù)后的最優(yōu)解作為停機位最優(yōu)分配方案。
將多個變量的數(shù)值編碼編排進去,進行組合。
簡單的來說,就是將多個變量的數(shù)值編碼編排進去,進行組合,只需要增長基因個體的長度,但是要明確每個變量具體的位置,然后讓每個變量轉化成二進制的等長編碼,組合在一起,就可以來運算了!
初始代碼:trace?=?zeros(3,MAXGEN);
然后,要構造一個譯碼矩陣FieldD,由bs2rv函數(shù)將種群Chrom根據(jù)譯碼矩陣換成時值向量,返回十進制的矩陣。
FieldD=[len;lb;ub;code;scale;lbin;ubin];
ObjV?=?Y.*sin(2*pi*X)+X.*cos(2*pi*Y);
然后按如下代碼操作:
while?gen??MAXGEN
FitnV?=?ranking(-ObjV);
Selch?=?select('sus',Chrom,FitnV,GGAP);
Selch?=?recombin('xovsp',Selch,px);
Selch?=?mut(Selch,pm);
XY?=?bs2rv(Selch,FieldD);
X?=?XY(:,1);Y?=?XY(:,2);
ObjvSel?=?Y.*sin(2*pi*X)+X.*cos(2*pi*Y);
[Chrom,ObjV]?=?reins(Chrom,Selch,1,1,ObjV,ObjvSel);
XY?=?bs2rv(Chrom,FieldD);
gen?=?gen?+?1; ?
[Y,I]?=?min(ObjV);
trace(1:2,gen)?=?XY(I,:);
trace(3,gen)?=?Y;
end
網(wǎng)站標題:遺傳算法代碼實現(xiàn)GO語言 遺傳算法的python代碼
當前網(wǎng)址:http://chinadenli.net/article42/dojgghc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、自適應網(wǎng)站、品牌網(wǎng)站設計、網(wǎng)站改版、網(wǎng)站設計公司、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)