go語言入門(一)

來源:互聯網
上載者:User

標籤:pre   and   var   實體   channel   包含   lex   序列   download   

環境安裝

Go 語言支援以下系統:

    • Linux
    • FreeBSD
    • Mac OS X(也稱為 Darwin)
    • Window

  安裝包為:https://golang.org/dl/。

  Windows下直接下載對應的版本安裝就可以了。

Hello World

  建立hello.go,輸入以下代碼:

 

package mainimport "fmt"func main() {   fmt.Println("Hello, World!")}  

  命令列運行 go run hello.go

  注意:package指包名,和所屬檔案夾無關,入口程式的package必須是main。import引入包。func 定義函數,入口程式的函數名必須是main。

IDE

  LiteIDE是一款開源、跨平台的輕量級Go語言整合式開發環境(IDE)。項目地址:https://github.com/visualfc/liteide

  JetBrains開發的JetBrains GoLand,https://www.jetbrains.com/go/download/

 

go語言結構

  

Go 語言的基礎組成有以下幾個部分:

    • 包聲明
    • 引入包
    • 函數
    • 變數
    • 語句 & 運算式
    • 注釋

 

  接下來讓我們來看下簡單的代碼,該代碼輸出了"Hello World!":

 

package mainimport "fmt"func main() {   /* 這是我的第一個簡單的程式 */   fmt.Println("Hello, World!")}

  1、第一行代碼 package main 定義了包名。你必須在源檔案中非注釋的第一行指明這個檔案屬於哪個包,如:package main。package main表示一個可獨立執行的程式,每個 Go 應用程式都包含一個名為 main 的包。 

  2、下一行 import "fmt" 告訴 Go 編譯器這個程式需要使用 fmt 包(的函數,或其他元素),fmt 包實現了格式化 IO(輸入/輸出)的函數。

  3、下一行 func main() 是程式開始執行的函數。main 函數是每一個可執行程式所必須包含的,一般來說都是在啟動後第一個執行的函數(如果有 init() 函數則會先執行該函數)。

  4、下一行 /*...*/ 是注釋,在程式執行時將被忽略。單行注釋是最常見的注釋形式,你可以在任何地方使用以 // 開頭的單行注釋。多行注釋也叫塊注釋,均已以 /* 開頭,並以 */ 結尾,且不可以嵌套使用,多行注釋一般用於包的文檔描述或注釋成塊的程式碼片段。

  5、下一行 fmt.Println(...) 可以將字串輸出到控制台,並在最後自動增加換行字元 \n。 

 

go語言基礎文法  行分隔字元

  在 Go 程式中,一行代表一個語句結束。分號(;)是可選的,如果打算將多個語句寫在同一行,它們則必須使用 ; 分割,但在實際開發中不要使用這種做法。

  注釋

  注釋不會被編譯,每一個包應該有相關注釋。go的注釋和c,java一樣,有單行注釋//,和多行注釋 /* ... */

// 單行注釋

/*

我是多行注釋

*/

  標識符

  標識符用來命名變數、類型等程式實體。一個標識符實際上就是一個或是多個字母(A~Z和a~z)數字(0~9)、底線_組成的序列,但是第一個字元必須是字母或底線而不能是數字。

  以下是有效標識符:

mahesh   kumar   abc   move_name   a_123myname50   _temp   j   a23b9   retVal

  以下是無效的標識符:

    • 1ab(以數字開頭)
    • case(Go 語言的關鍵字)
    • a+b(運算子是不允許的)

  下面列舉了 Go 代碼中會使用到的 25 個關鍵字或保留字:

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var


  除了以上介紹的這些關鍵字,Go 語言還有 36 個預定義標識符:

append bool byte cap close complex complex64 complex128 uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr


程式中可能會使用到這些分隔字元:括弧 (),中括弧 [] 和大括弧 {}。程式一般由關鍵字、常量、變數、運算子、類型和函數組成。

程式中可能會使用到這些標點符號:點號. 逗號, 分號;  冒號: 三個點號…

  

Go 語言資料類型

在 Go 程式設計語言中,資料類型用於聲明函數和變數。

 

  1、布爾型

  布爾型的值只可以是常量 true 或者 false。

2、數字類型

  整型 int 和浮點型 float,Go 語言支援整型和浮點型數字,並且原生支援複數,其中位的運算採用補碼。

  整型分有符號和無符號:

  uint8,uint16,uint32,uint64,int8,int16,int32,int64分別表示無符號和有符號的8位,16位,32位,64位整型

  浮點型:

  float32 32位浮點數,float64位浮點數。complex64 32位實數和虛數,complex128 64位實數和虛數

  其他數字類型:  

byte  類似 uint8
rune  類似 int32
uint  32 或 64 位元
int  與 uint 一樣大小
uintptr  無符號整型,用於存放一個指標

3、字串類型:

字串就是一串固定長度的字元串連起來的字元序列。Go的字串是由單個位元組串連起來的。Go語言的字串的位元組使用UTF-8編碼標識Unicode文本。

4、衍生類別型:

包括:
(a) 指標類型(Pointer)
(b) 數群組類型
(c) 結構化類型(struct)
(d) Channel 類型
(e) 函數類型
(f) 切片類型
(g) 介面類型(interface)
(h) Map 類型

 

go語言入門(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.