GO語言基礎

Go語言開發

1、Linux下搭建Go開發環境

首先下載Go語言的開發安裝包,無論是在官方網站或者國內的Golang鏡像都是能夠的,注意區分64位和32位的安裝包。linux

  1. 下載完安裝包以後tar zxvf進行解壓。
  2. 利用命令mv go /usr/src/go,把解壓後的go目錄移動到執行的目錄。這樣就在/usr/src/go中存放了go語言開發須要的各類部分。
  3. ~/.bashr文件中增長一些環境變量:
export GOPATH=~/Applications/Go
export GOROOT=/usr/src/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
  1. 而後source ~/.bashr,加載bash設置,使之生效。
  2. 新建上面的各類須要的目錄結構:


至此,GO語言的開發環境就搭建完成了。bash

2、第一個GO語言程序

進入到以前創建好的src目錄中,新建目錄結構hello,而後在hello目錄中新建main.go網站

package main
import "fmt"
        
func main() {
    fmt.Println("hello world!")
}

而後在命令行中,經過命令go run main.go來運行這個go語言程序。或者能夠先經過go build先生成可執行程序,而後再運行。ui

若是在go build時,指定某個go文件,那麼僅僅構建這一個模塊,生成的名字與該go文件的名字相同。
若是不指定構建的模塊,則構建整個工程,生成的名字與工程目錄相同。命令行

3、GO語言變量的聲明、初始化、賦值

變量至關因而對一塊數據存儲空間進行命名,程序能夠經過定義一個變量來申請一塊數據存儲空間,以後能夠經過引用變量來使用這塊存儲空間。code

GO語言變量的聲明:blog

var v1 int 
var v2 string
var v3 [10]int
var v4 []int
var v5 struct {
    f int 
}
var v6 *int
var v7 map[string]int
var v8 func(a int) int 
var (
    v1 int 
    va string
)

GO語言變量的初始化:
對於聲明變量的同時須要初始化的場景,var關鍵字無關緊要:作用域

var v1 int = 10
var v1 = 10                                                                                                                                                                            
v1 := 10

對於第三種方式,不能聲明全局變量
表示同時進行變量的聲明和初始化
定義在:=左側的變量,不能是已經被聲明過的變量開發

總結:v8

GO語言的聲明用關鍵字var 變量名 類型
GO語言賦值,不是用關鍵字也不使用類型
GO語言聲明同時初始化,用上面三種方式,不能使用v1 = 10,由於它表示賦值,不表示變量的聲明+初始化

GO語言的聲明方式不會混淆。
GO語言變量的初始化和變量賦值是不一樣的概念,注意區分。

4、GO語言的條件控制語句

package main
import "fmt"
            
func main() {
    a := 3
    b := 2                                                                                                                                                                             
            
    if a, c := 2, 5; a < b &&
        b == 2 { 
        fmt.Println("a<b")
        fmt.Println(a)
        fmt.Println(c)
    }else {
        fmt.Println("a>b")
        fmt.Println(a)
        fmt.Println(c)
    }       
    fmt.Println(a)
}  
/*
output:
a>b
2
5
3
*/

在GO語言的條件語句中,能夠有一次變量的賦值或者聲明初始化語句,以後分號結束。
if-else if-else語句塊中,其中的變量屬於同一做用域,出了該做用域其內定義的變量將失效。

5、GO語言的循環語句

GO語言循環中只支持for關鍵字,基本用法與C和C++中很是接近:

sum := 0
for i := 0; i < 10; i++ {
    sum += i
}

for後面的條件表達式不須要用括號包起來,GO語言還支持for 語言的無線循環場景:

for {     
    sum++ 
    if sum > 100 {
        break
    }
}

for的條件表達式中支持多重賦值:

a := []int{1, 2, 3, 4, 5, 6}
for i, j := 0, len(a) - 1; i < j; i, j = i + 1, j - 1 { 
    a[i], a[j] =  a[j], a[i]
}

GO語言不支持在循環條件中以逗號爲間隔的多個賦值語句,必須使用平行賦值的方式來初始化多個變量。
GO語言的for循環一樣支持continue和break來控制循環,可是它提供一個更高級的break,能夠選擇中斷哪個循環。

相關文章
相關標籤/搜索