Go程式設計學習第六天

2021-10-12 22:19:53 字數 1287 閱讀 5213

在go語言中函式定義格式如下:

func 函式名(

[引數列表]

)[返回值型別]

//中括號內是可選引數

eg:

func getsum(num1 int, num2 int) int

值傳遞:在函式呼叫過程中將實參拷貝乙份到函式中,這樣在函式中如果對引數進行修改,將不會影響到實參

引用傳遞:在函式呼叫過程中將實參的位址傳遞到函式中,那麼在函式中對引數所進行的修改,將影響到實參。

示例**:

func

paramfunc

(a int

, b *

int, c [

]int

)func

main()

paramfunc

(a,&b, c)

//此處將b的位址傳到呼叫函式,其結果是改變b的值

fmt.

println

("main:"

) fmt.

println

(a) fmt.

println

(b) fmt.

println

(c)}

當在編寫函式時不知道傳遞引數多少可以使用變長引數,在go語言中變長引數必須放置在函式引數的最後乙個

eg:常呼叫的fmt中的printf函式

func

printf

(format string

, a ...

inte***ce

)(n int

, err error

)

通過返回函式呼叫結果和錯誤值,來看函式是否呼叫成功

eg:

func

div(a, b float64)(

float64

,error

)return a / b,

nil}

func

main()

fmt.

println

("result: "

, result)

}

即給返回值命名,eg:

func

div(a, b float64

)(result float64

, err error)}

func

main()

網路程式設計學習第六天

我的理解就是tcp流因為他是乙個連續的,然後我們用360等工具我們每次看到傳送過來的資料是有變化的,所以我們會產生沒有接受完畢的資料報,或者接受了過多的情況,我們對這種情況叫做斷包活著粘包的情況。解決方案有很多種,我說一種最簡單的,增加頭子節的長度。如下 伺服器 include include in...

第六天學習

變數的作用域 區域性變數 在函式內部定義的變數,這個變數只能在函式內部使用,在全域性當中不能使用。使用就報錯了。全域性變數 在函式外部定義的變數,這個變數可以在全域性使用。但是我們一般不推薦使用全域性變數 因為可能會意外的修改掉變數的值。迫不得已不要用全域性變數 衝突處理原則 就近原則。而不是從上到...

學習第六天

還有九天,我就要去參加北大3日遊了。滑稽 像我這樣的蒟蒻去那也就是旅遊模式吧!無所謂了,隨便去考考,說不定有優秀營員呢?滑稽 不可能,絕對不可能 相信自己好了。這麼多天,好像把面試給忘了,雖然有人說面試是瞎 但是還是要準備準備的 明天看吧!還有什麼知識點沒看嗎?我們來看看st表和hash表吧!先看看...