丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開(kāi)發(fā)者 正文
發(fā)私信給AI研習(xí)社-譯站
發(fā)送

0

Go編程語(yǔ)言基礎(chǔ)知識(shí)簡(jiǎn)介

本文作者: AI研習(xí)社-譯站 2020-10-30 16:11
導(dǎo)語(yǔ):Go是一種開(kāi)源編程語(yǔ)言,可以輕松構(gòu)建簡(jiǎn)單、可靠和高效的軟件。

譯者:AI研習(xí)社(Maker

雙語(yǔ)原文鏈接:https://www.yanxishe.com/TextTranslation/2943


Go是一種開(kāi)源編程語(yǔ)言,大約在11年前首次出現(xiàn),與30歲的Python和35歲的C++相比,這門(mén)語(yǔ)言非常年輕。

Go是由谷歌的 Robert Griesemer, Rob Pike和 Ken Thompson設(shè)計(jì)的,目的是讓開(kāi)發(fā)人員更快、更容易地進(jìn)行軟件開(kāi)發(fā)。

根據(jù)HackerEarth調(diào)查,Go是最受學(xué)生和專(zhuān)業(yè)開(kāi)發(fā)人員歡迎的編程語(yǔ)言。

事實(shí)上, Go 是最容易學(xué)的語(yǔ)言之一。在這篇文章中,我將嘗試介紹 Go的一些基本概念。我希望這篇文章能激勵(lì)您進(jìn)一步學(xué)習(xí)這門(mén)語(yǔ)言。我們開(kāi)始吧!

Go是一種開(kāi)源編程語(yǔ)言,可以輕松構(gòu)建簡(jiǎn)單、可靠和高效的軟件。

Hello World

這是寫(xiě)出“Hello World”的GO代碼。

package main    
import "fmt"     
func main () {    
fmt.Println("Hello World")    
}

第一行稱(chēng)為 程序包說(shuō)明,每個(gè)GO程序都以 程序包說(shuō)明 開(kāi)始。

下一行import“fmt”是一個(gè)import語(yǔ)句。IMPORT關(guān)鍵字允許我們從其他包導(dǎo)入和使用代碼。fmt是format的縮寫(xiě),但通常發(fā)音為‘fumpt’。你可以隨便叫它什么。

Main()函數(shù)是一個(gè)特殊函數(shù)。帶有程序包說(shuō)明 的文件將自動(dòng)運(yùn)行main()函數(shù)。

在主函數(shù)塊中,我們有fmt.Println(“Hello World”).println是用于打印文本的函數(shù),在我們的示例中是Hello World。

變量和常量

在GO中,我們可以使用變量類(lèi)型聲明變量,也可以使用var關(guān)鍵字使用初始化器聲明變量。還可以一次聲明多個(gè)不同類(lèi)型的變量。

var a, b int = 0, 1    
func main() {    
var c, d, e = true, "GO", 2.33    
f := -5    
fmt.Println(a, b, c, d, e, f)    
}

如果沒(méi)有提到變量的類(lèi)型,則變量將采用初始值設(shè)定項(xiàng)的類(lèi)型。

在函數(shù)內(nèi)部,可以使用:=Short賦值語(yǔ)句代替var聲明。但是,這在函數(shù)外部是不可能的。

常量的聲明類(lèi)似于變量,但使用了const關(guān)鍵字。常量可以是字符、字符串、布爾值或數(shù)字值。

循環(huán)和條件語(yǔ)句

For循環(huán)

GO只有for循環(huán)構(gòu)造。For循環(huán)有三個(gè)用分號(hào)分隔的組件:

Init語(yǔ)句:在第一次迭代之前執(zhí)行

條件表達(dá)式:在每次迭代之前求值

POST語(yǔ)句:在每次迭代結(jié)束時(shí)執(zhí)行

sum := 0    
for i := 0; i < 10; i++ {    
sum += i    
}    
fmt.Println(sum)

fmt.Println(sum)Init和POST語(yǔ)句是可選的。如果將init和POST語(yǔ)句與分號(hào)一起刪除,則循環(huán)將變成WHILE循環(huán)。 當(dāng)條件表達(dá)式也被移除并無(wú)限運(yùn)行時(shí),循環(huán)變成無(wú)限循環(huán)。

IF語(yǔ)句

if num := 9; num < 0 {    
fmt.Println(num, "is negative")    
} else if num < 10 {    
fmt.Println(num, "has 1 digit")    
} else {    
fmt.Println(num, "has multiple digits")    
}

Go的if語(yǔ)句與其他語(yǔ)言的語(yǔ)句類(lèi)似。在If Short語(yǔ)句中聲明的變量也可以在任何Else塊中使用。

在GO中沒(méi)有三元數(shù)-IF,所以即使對(duì)于基本條件,我們也需要使用完整的IF語(yǔ)句。

(注:GO也有GET SWITCH語(yǔ)句,但為簡(jiǎn)單起見(jiàn),省略了它。您可以在此處了解SWITCH語(yǔ)句)

函數(shù)

一個(gè)函數(shù)接受兩個(gè)int,并將它們的和作為int返回。

if num := 9; num < 0 {    
fmt.Println(num, "is negative")    
} else if num < 10 {    
fmt.Println(num, "has 1 digit")    
} else {    
fmt.Println(num, "has multiple digits")    
}

一個(gè)函數(shù)可以接受零個(gè)或多個(gè)參數(shù)。變量的類(lèi)型在變量名之后。

當(dāng)有多個(gè)相同類(lèi)型的連續(xù)變量傳遞給函數(shù)時(shí),可以從除最后一個(gè)變量之外的所有變量中省略該類(lèi)型。

結(jié)構(gòu)、數(shù)組、切片和映射

結(jié)構(gòu)

GO的結(jié)構(gòu)是字段的集合。它們對(duì)于將數(shù)據(jù)組合在一起形成記錄非常有用。

結(jié)構(gòu)字段使用點(diǎn)進(jìn)行訪(fǎng)問(wèn)。下面是該結(jié)構(gòu)的一個(gè)示例。

type Vertex struct {    
X int    
Y int    
}    
func main() {    
v := Vertex{1, 2}    
fmt.Println(v.X,v.Y)    
}

數(shù)組

表達(dá)式var a[10]int將變量聲明為10個(gè)整數(shù)的數(shù)組。無(wú)法調(diào)整數(shù)組的大小,因?yàn)閿?shù)組的長(zhǎng)度是其類(lèi)型的一部分。

我們可以使用數(shù)組[INDEX]=VALUE在索引處設(shè)置值,并使用ARRAY[INDEX]獲得值。

數(shù)組也可以在一行中聲明和初始化。缺省情況下,數(shù)組為零值

var a [2]string    
a[0] = "Hello"    
a[1] = "World"    
fmt.Println(a[0], a[1])    
fmt.Println(a)    
primes := [6]int{2, 3, 5, 7, 11, 13}    
fmt.Println(primes)
切片

切片是通過(guò)指定兩個(gè)索引形成的,下限和上界用冒號(hào)a[LOW:HIGH]分隔

與具有固定大小的數(shù)組不同,切片是動(dòng)態(tài)調(diào)整大小的。切片比數(shù)組更常見(jiàn)。

內(nèi)置的APPEND函數(shù)將一個(gè)或多個(gè)新值添加到切片。

primes := [6]int{2, 3, 5, 7, 11, 13}    
var s []int = primes[1:4]    
fmt.Println(s)

Maps

Maps是Go內(nèi)置的關(guān)聯(lián)數(shù)據(jù)類(lèi)型(在某些語(yǔ)言中稱(chēng)為DICTS)。映射將關(guān)鍵點(diǎn)映射到值。要?jiǎng)?chuàng)建空映射,請(qǐng)使用內(nèi)置的make:make(map[key-type]val-type)

可以使用NAME[KEY]=VAL語(yǔ)法設(shè)置鍵/值??梢允褂胣ame[key]獲取鍵的值。

打印地圖將顯示其所有鍵/值對(duì)。下面是使用地圖的示例。

m := make(map[string]int)    
m["A"] = 1    
m["B"] = 2    
fmt.Println("map:", m)    
n := map[string]int{"foo": 1, "bar": 2}    
fmt.Println("map:", n)    
}

進(jìn)一步閱讀

我很高興你花了這么長(zhǎng)時(shí)間。我建議你去看看下面的網(wǎng)站s-A Tour of Go in Golang,并以身作則,深入了解這門(mén)語(yǔ)言。

圍棋可以從其官方網(wǎng)站下載。Alan A.A.Donovan和Brian W.Kernighan所著的圍棋編程語(yǔ)言是一本很好的入門(mén)書(shū)。圍棋編程藍(lán)圖和介紹圍棋也是推薦的。

Go編程語(yǔ)言基礎(chǔ)知識(shí)簡(jiǎn)介

Source https://learn.go.dev/


AI研習(xí)社是AI學(xué)術(shù)青年和AI開(kāi)發(fā)者技術(shù)交流的在線(xiàn)社區(qū)。我們與高校、學(xué)術(shù)機(jī)構(gòu)和產(chǎn)業(yè)界合作,通過(guò)提供學(xué)習(xí)、實(shí)戰(zhàn)和求職服務(wù),為AI學(xué)術(shù)青年和開(kāi)發(fā)者的交流互助和職業(yè)發(fā)展打造一站式平臺(tái),致力成為中國(guó)最大的科技創(chuàng)新人才聚集地。

如果,你也是位熱愛(ài)分享的AI愛(ài)好者。歡迎與譯站一起,學(xué)習(xí)新知,分享成長(zhǎng)。

Go編程語(yǔ)言基礎(chǔ)知識(shí)簡(jiǎn)介

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知

Go編程語(yǔ)言基礎(chǔ)知識(shí)簡(jiǎn)介

分享:
相關(guān)文章

知情人士

AI研習(xí)社(yanxishe.com)譯站頻道,傳播前沿人工智能知識(shí),讓語(yǔ)言不再成為學(xué)習(xí)知識(shí)的門(mén)檻。(原雷鋒字幕組)
當(dāng)月熱門(mén)文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話(huà)
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶(hù)安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)