GO語言學習筆記

GO語言

DAY 1

Cent OS7 安裝GO環(huán)境

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum install -y golang

驗證

go -version

Go is a tool for managing Go source code.

Usage:

go <command> [arguments]

The commands are:

bug? ? ? ? start a bug report

build? ? ? compile packages and dependencies

clean? ? ? remove object files and cached files

doc? ? ? ? show documentation for package or symbol

env? ? ? ? print Go environment information

fix? ? ? ? update packages to use new APIs

fmt? ? ? ? gofmt (reformat) package sources

generate? ? generate Go files by processing source

get? ? ? ? add dependencies to current module and install them

install? ? compile and install packages and dependencies

list? ? ? ? list packages or modules

https://blog.csdn.net/li_xue_zhao/article/details/79818390 ZSH OH-MY-ZSH

https://blog.csdn.net/boling_cavalry/article/details/88598828 VIM-GO設置GO語法在VIM中高亮

編寫hello

package main

//1.go以包作為管理單位

//2.每個文件必須先聲明包

//3.程序必須有一個main包

import "fmt"? //導入包后必須要使用

//起始花括號必須跟在main后,不能另起一行

//同理花括號必須跟函數(shù)名同行

func main() {

fmt.Println("Hello GO")//Println P必須為大寫,且Println()會自動換行

//結束花括號可以跟在語句后

}

go build xxx.go 編譯go代碼,生成一個可執(zhí)行文件

go run xxx.go 執(zhí)行GO代碼,不生成文件

數(shù)據(jù)類型

作用:告訴編譯器這個變量(值)應該以多大的內存存儲

類型(同一類的數(shù)據(jù))

變量命名規(guī)則:字母,下劃線,數(shù)字

不能以數(shù)字開頭

名字不能是關鍵字(break var go等等)

區(qū)分大小寫

變量:程序運行期間可以改變的量

? 聲明 var XX(變量名) int(類型) //變量聲明完后必須使用

? 同一個{}里,聲明的變量名是唯一的

? 可以同時什么多個變量



? package main

? import "fmt"

? func main() {

? var a string

? //var a int

? a="test"

? //a=10 a如果不賦值直接打印,返回0

? fmt.Println(a)

? //fmt.Println("a = ", a)

}

? #返回結果test // a = 10

? package main

? import "fmt"


? func main() {

var a int

a=10

fmt.Println("a = ",a)

a*=2 //重新賦值

fmt.Println("a=",a)

}

? #返回$ go run var1.go

? a =? 10

? a= 20

? 變量初始化:在聲明變量的同時進行賦值

? var b int = 10 //初始化

? b = 20 //賦值

? 自動推導類型,必須初始化,通過初始化的值確定類型(常用寫法)

? c := 30 //這種寫法不用聲明變量,先聲明b的類型,再給b賦值

? fmt.Printf("c type is %T\n", c)//%T變量所屬類型,Printf中才可以使用占位符,Println中不行,占位符在""中識別為純文本

? eg:Printf和Println的區(qū)別

package main

import "fmt"

func main() {

a:=10

fmt.Println("a =",a)

fmt.Printf("a = %d\n",a)

b,c:=20,30

fmt.Println("b =",b,"c =",c)

fmt.Printf("b = %d,c = %d\n",b,c)

}

? #返回a = 10

? a = 10

? b = 20 c = 30

? b = 20,c = 30 //注意各行的空格,保持返回值美觀

多重賦值和匿名變量

a,b,c:=10,20,30 //多重賦值

交換a b的值

var tmp int

tmp = a

a = b

b = tmp

fmt.Printf("a = %d,b = %d\n",a,b)

go寫法

i,j := 10,20

i,j = j, i

fmt.Printf("i = %d,j = %d\n",i,j)

#返回i = 20,j = 10

匿名變量

i,j = 10,20

tmp,_ = i,j // _ 匿名變量,丟棄數(shù)據(jù)不處理,配合函數(shù)返回值使用才有優(yōu)勢

fmt.Println("tmp =",tmp)

eg:

package main

import "fmt"

func test() (a,b,c int){

return 1, 2, 3

}

func main(){

var c,d,e int

c,d,e = test() //return 1,2,3

fmt.Printf("c = %d, d = %d, e = %d\n",c,d,e)

}

#返回c = 1, d = 2, e = 3

#搭配匿名變量,只返回d的值

func main(){

var c,d,e int

_,d,_ = test()

fmt.Printf("d = %d\n",d) //如果仍輸出c = %d e = %d c,e 會設置值為0

}

#返回c = 0, d = 2, e = 0

常量的定義

運行期間不可以改變

使用const聲明

func main(){

const a int = 10

const b = 10 //自動推導類型,常量不用使用:=

}

多個變量或者常量的定義

定義多個變量時的自動推導不用寫:

eg:

package main

import "fmt"

func main(){

const(

i int = 20? // i = 20

j float64 = 6.28 //j = 6.28 可以自動推導類型

)

var (

a int =10? //a = 10

b float64 = 3.14 //b = 3.14 可以自動推導類型

)

fmt.Println("i =",i,"j =",j)

fmt.Printf("j type is %T\n",j)

fmt.Printf("a =%d,b =%f\n",a,b)? //float占位符為%F

fmt.Printf("b type is %T\n",b)

}

#返回i = 20 j = 6.28? //Println返回不補0

j type is float64

a =10,b =3.140000 //Printf返回補0

b type is float64

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1.Go 程序是通過 package 來組織的。只有 package 名稱為 main 的包可以包含 main 函...
    pp_5793閱讀 414評論 0 0
  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 4,061評論 0 2
  • 1 Go語言中函數(shù)的聲明如下: func 函數(shù)名 (變量名1,變量名2 變量類型1,變量名3 變量類型2)函數(shù)返回...
    pp_5793閱讀 318評論 0 0
  • fmt格式化字符串 格式:%[旗標][寬度][.精度][arg索引]動詞旗標有以下幾種:+: 對于數(shù)值類型總是輸出...
    皮皮v閱讀 1,223評論 0 3
  • 這個世道很奇怪, 有的人散盡家財不遺余力把錢借給那個他認為又親近又有困難又需要幫助的親朋好友, 換來的卻是自己陷入...
    吳飛是真的閱讀 111評論 0 0

友情鏈接更多精彩內容