在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表吧!先看看...