Go語言實戰(第一章)-基礎知識

Go初識

簡潔、快速
C 和 C++這類語言提供了很快的執行速度,
Ruby 和 Python 這類語言則擅長快速開發。 Go 語言在這兩者間架起了橋樑
安全
並行
開源
內存管理、數組安全、編譯迅速

一、特點

  • 運行效率高(編譯型語言[解釋型語言舉例:py,php]),開發高效(語法少,關鍵字少),部署簡單
  • 支持併發,易於利用多核實現併發
  • 內置runtime(性能監控,GC等)
  • 豐富的標準庫,強大的網絡庫
  • 內置強大的工具gofmt 跨平臺編譯 內嵌C支持

二、作用

  • 服務器編程,如處理日誌、數據打包、虛擬機處理、文件系統等
  • 分佈式系統、中間件、數據庫代理器
  • 網絡編程:web應用、API應用
  • 雲平臺

三、點擊win下download

四、基礎語法

Go 開發者使用組合( composition)設計模式,沒有繼承,只需簡單地將一個類型嵌入到另一個類型,就能複用所有的功能。

在 Go 語言中,不需要聲明某個類型實現了某個接口,編譯器會判斷一個類型的實例是否
符合正在使用的接口。
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
生成exe命令 go build main.go
運行 go run main.go

package main//要生成可執行程序,必須要有main的package包,且該包下要有main()
//每個源文件必須有package聲明  必須在第一行
import "fmt"
//第二種形式
import (
	"" //不得導入沒有用過的包
	""
	_ //導入的路徑前面有一個下劃線,Go 編譯器不允許聲明導入某個包卻不使用。下劃線讓編譯器接受這類導入
)

//單行註釋  定義常量
const NAME = "dd"
/*多行註釋 全局變量*/
var name = "a"

//main之前執行
func init() {
}

//整個程序入口
func main(){
	fmt.Println("hello world")
}

四、數據類型

  1. 基本數據類型
    http://www.runoob.com/go/go-data-types.html
    字符串類型string,統一爲utf-8
package main
import (
	"fmt"
	"unsafe"
)
func main(){
 var i int32 = 1
 fmt.Print(unsafe.SizeOf(i));
}
// 輸出 4
  1. 派生類型

  2. 0在這裏插入圖片描述

  3. 用type定義別名

項目結構

----$GOPATH/src 代碼
----$GOPATH/bin 下載的第三方包源代碼文件
----$GOPATH/pkg 生成的中間緩存文件

在這裏插入圖片描述

hello world

文件名: test.go
cmd:go run test.go

package main
import "fmt"

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

需要注意的是:

{ 不能單獨放在一行,
一行代表一個語句結束

變量定義

不允許有沒有用到的變量

var age int;

if條件語句

package main
import "fmt"

func main() {
	var a int = 10
	if a < 20 {
		fmt.Println("a 小於 20\n")
	} else {
		fmt.Println("a 大於 20\n")
	}
    fmt.Printf("a的值爲 %d ",a)
}

switch

匹配項後面也不需要再加 break

package main
import "fmt"

func main() {
	var str string = "B"
	var mark int = 90

	switch mark{
		case 90: 
			fmt.Println("90")
		default:
			fmt.Println("20")
	}

	switch {
		case str == "A" :
			fmt.Println("A")
		default:
			fmt.Println("B")
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章