標籤: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語言入門(一)