Go 初學Go語言

2021-10-13 21:00:10 字數 2572 閱讀 3522

馬上要去實習了,要開始實戰了

今天在這總結一些基礎用法,方便後面自己查閱

總結的參考資料為go by example,一邊複習一邊記錄

go by example

var a string

="initial"

var b, c int=1

,2//一次宣告多個

var d =

true

//自動推斷型別

var e int

//初始化為預設值

f :=

"short"

// := 是宣告並初始化的簡寫,相當於 var f string = "short"

const g =

3.14

// 宣告乙個常量

go語言中,只有for迴圈

//形式1

for i <=

3//形式2

for i :=

0; i <

10; i++

//形式3,相當於while true

for//形式4,range的使用1

nums :=

int//沒有寫長度,所以這是乙個slice,不是陣列

for_

, num :=

range nums

//形式5,range的使用2

for i, num :=

range nums

//形式6,range的使用3

kvs :=

map[

string

]string

for k, v :=

range kvs

//形式7,range的使用4

for i, c :=

range

"go"

//形式1if7

%2==0

else

//形式2if7

%2==0

//形式3

if num :=

9; num <

0else

if num <

10else

//形式1

switch i

//形式2,這相當於if/else的另一種形式,此處case可以使用非常量

switch

var a [5]

intb :=[5

]int

var c [2]

[3]int

切片是陣列的乙個引用,是引用型別,是乙個可以動態變化的陣列,底層是乙個結構體

基本語法:var 切片名 type = make(type, len, [cap])

s :=

make([

]string,3

,10)s[

0]="a"s[1

]="b"s[2]

="c"

s =(s,

"d")

s =(s,

"e")

基本語法:var map 變數名 map[ keytype ]valuetype

m :=

make

(map

[string

]int)m[

"k1"]=

7m["k2"]=

17v1 := m[

"k1"

]delete

(m,"k2"

)m2 :=

map[

string

]int

基本語法:var 變數名 chan 資料型別

message :=

make

(chan

string

)message <-

"hello"

newmes :=

<- message

//形式1

func

plus

(a int

, b int

)int

//形式2,多返回值

func

vals()

(int

,int

)//形式3,任意數目引數

func

sum(nums ...

int)

}

這東西沒有很學懂,下次補充

type person struct

rect實現了geometry介面

type geometry inte***ce

type rect struct

func

(r rect)

area()

float64

func

(r rect)

perim()

float64

Go語言之GO 語言常量

相對於變數,常量是恆定不變的值,多用於定義程式執行期間不會改變的那些值。常量的宣告和變數宣告非常類似,只是把var換成了const,常量在定義的時候必須賦值。const pi 3.1415 const e 2.7182宣告了pi和e這兩個常量之後,在整個程式執行期間它們的值都不能再發生變化了。多個常...

Go 安裝Go語言及搭建Go語言開發環境

tar c usr local xzf go1.15.6.linux amd64.tar.gzvim etc profile在profile中新增go的環境變數,新增完成後可通過.etc.profile 讓配置檔案立即生效。和 之間有空格 go export go home usr local go...

五 go語言特性 go語言筆記

defer 呼叫乙個被 defer 的函式時在函式剛要返回之前延遲執行,當函式無論怎樣返回,某資源必須釋放時,可用這種與眾不同 但有效的處理方式。傳統的例子包括解鎖互斥或關閉檔案。package main import log func main mydefer func mydefer func ...