1. 程式人生 > >go語言入門(一)

go語言入門(一)

const iot inter ted 第一個字符 使用 www git 允許

環境安裝

Go 語言支持以下系統:

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

  安裝包下載地址為:https://golang.org/dl/。

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

Hello World

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

package main

import "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 main

import "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_123
myname50   _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語言入門(一)