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

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

0

Go編程語言基礎知識簡介

本文作者: AI研習社-譯站 2020-10-30 16:11
導語:Go是一種開源編程語言,可以輕松構建簡單、可靠和高效的軟件。

譯者:AI研習社(Maker

雙語原文鏈接:https://www.yanxishe.com/TextTranslation/2943


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

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

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

事實上, Go 是最容易學的語言之一。在這篇文章中,我將嘗試介紹 Go的一些基本概念。我希望這篇文章能激勵您進一步學習這門語言。我們開始吧!

Go是一種開源編程語言,可以輕松構建簡單、可靠和高效的軟件。

Hello World

這是寫出“Hello World”的GO代碼。

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

第一行稱為 程序包說明,每個GO程序都以 程序包說明 開始。

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

Main()函數(shù)是一個特殊函數(shù)。帶有程序包說明 的文件將自動運行main()函數(shù)。

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

變量和常量

在GO中,我們可以使用變量類型聲明變量,也可以使用var關鍵字使用初始化器聲明變量。還可以一次聲明多個不同類型的變量。

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)    
}

如果沒有提到變量的類型,則變量將采用初始值設定項的類型。

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

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

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

For循環(huán)

GO只有for循環(huán)構造。For循環(huán)有三個用分號分隔的組件:

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

條件表達式:在每次迭代之前求值

POST語句:在每次迭代結束時執(zhí)行

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

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

IF語句

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語句與其他語言的語句類似。在If Short語句中聲明的變量也可以在任何Else塊中使用。

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

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

函數(shù)

一個函數(shù)接受兩個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")    
}

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

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

結構、數(shù)組、切片和映射

結構

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

結構字段使用點進行訪問。下面是該結構的一個示例。

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

數(shù)組

表達式var a[10]int將變量聲明為10個整數(shù)的數(shù)組。無法調(diào)整數(shù)組的大小,因為數(shù)組的長度是其類型的一部分。

我們可以使用數(shù)組[INDEX]=VALUE在索引處設置值,并使用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)
切片

切片是通過指定兩個索引形成的,下限和上界用冒號a[LOW:HIGH]分隔

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

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

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

Maps

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

可以使用NAME[KEY]=VAL語法設置鍵/值。可以使用name[key]獲取鍵的值。

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

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)    
}

進一步閱讀

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

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

Go編程語言基礎知識簡介

Source https://learn.go.dev/


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

如果,你也是位熱愛分享的AI愛好者。歡迎與譯站一起,學習新知,分享成長。

Go編程語言基礎知識簡介

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

Go編程語言基礎知識簡介

分享:
相關文章

知情人士

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