」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 學習GO:05

學習GO:05

發佈於2024-11-08
瀏覽:303

Learning GO: 05

嘿!我目前正在學習 Go Lang,我正在對我的概念做一些基本的筆記,儘管我也只是將它們發佈在這裡。它們沒有經過深思熟慮或寫得不好,但只是我時不時做筆記以供參考。

我正在參加 Maximilian Schwarzmüller 的 Udemy 課程,


筆記

定義函數

  • 所有使用者定義的函數定義在主函數下面
  • Go 中的函數可以使用 func 關鍵字定義
  • 我們可以為函數新增參數,新增參數的時候我們要定義參數的型別

func outputText(text1 string, text2 string){
    fmt.Print()
}


  • 如果參數類型相同,那麼我們可以定義參數並只定義一次類型,然後我們必須新增參數名稱並在最後加上參數類型

func outputText(text1, text2 string) {
    fmt.Print()
}


  • 之後我們可以像任何語言中的任何其他函數一樣使用它

outputText("Investment Amount: ")
fmt.Scan(&investmentAmount)

func outputText(text1 string) {
    fmt.Print(text1)
}


  • 在 Go 語言中,我們可以從單一函數傳回多個值
  • 在 Go 中,變數是區塊作用域的,這意味著函數或區塊內定義的任何變數的作用域都是該函數,我們可以在函數外部使用它們
  • 我們可以在主函數或任何其他函數之外定義變量,將它們作為全域範圍,然後我們可以在文件中的任何函數內使用它們。
  • 我們只能將 const 和 var 聲明定義為全域聲明,不能對任何其他聲明執行此操作
  • 這表示 := 語法不能在全域範圍內使用

const inflationRate = 2.5

func main() {
    var investmentAmount float64 = 1000
    var years float64
    var expectedReturn = 5.5
}


  • 當傳回任何值時,我們必須定義函數的回傳類型
  • 如果我們傳回2個值,我們必須將其包裝到圓括號中,然後定義具體傳回其類型的類型
  • 透過這個我們可以為任何回傳值定義特定型別 func demo ()(float64, int){}

func calculateFutureValue(investmentAmount, expectedReturn, years float64) (float64, float64) {
    fv := (investmentAmount) * math.Pow(1 expectedReturn/100, float64(years))
    rfv := fv / math.Pow(1 inflationRate/100, years)
    return fv, rfv
}


  • 當我們想要將回傳值儲存在變數中時,我們可以有2個以逗號分隔的變數名稱

futureValue, futureRealValue := calculateFutureValue(investmentAmount, expectedReturn, years)


版本聲明 本文轉載於:https://dev.to/gaurav444/learning-go-05-2p9k?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3