馬上要去實習了,要開始實戰了
今天在這總結一些基礎用法,方便後面自己查閱
總結的參考資料為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 ...