「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > GOを学ぶ: 05

GOを学ぶ: 05

2024 年 11 月 8 日に公開
ブラウズ:180

Learning GO: 05

おい!私は現在 Go Lang を学習しており、自分の Notion に関する基本的なメモをいくつか取っており、それをここで公開したいと思っています。それらはよく考えられているわけでも、よく書かれているわけでもありませんが、参考のために時々メモを取っているだけです。

マクシミリアン・シュワルツミュラーによるUdemyコースを受講しています


注意事項

関数の定義

  • すべてのユーザー定義関数はメイン関数の下に定義されています
  • Go の関数は func キーワードを使用して定義できます
  • 関数にパラメータを追加できます。パラメータを追加するときは、パラメータのタイプを定義する必要があります

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


  • パラメータが同じ型の場合、パラメータを定義してその型を取得できるのは 1 回だけです。その後、パラメータ名を追加し、最後にパラメータの型を追加する必要があります

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


  • その後は、任意の言語の他の関数と同様に使用できます

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

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


  • Go lang では、1 つの関数から複数の値を返すことができます
  • Go では、変数はブロック スコープです。つまり、関数またはブロック内で定義された変数はその関数にスコープされ、関数の外で使用できます。
  • メイン関数または他の関数の外側で変数を定義して、それらをグローバル スコープとして持つことができ、ファイル内の任意の関数内でそれらを使用できます。
  • グローバル宣言として定義できるのは const 宣言と var 宣言のみです。他の宣言に対してこれを定義することはできません
  • つまり、:= 構文はグローバル スコープでは使用できないということです

const inflationRate = 2.5

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


  • 値を返すときは、関数の戻り値の型を定義する必要があります
  • 2 つの値を返す場合は、値を丸かっこで囲み、その型に特定の戻り値の型を定義する必要があります
  • これにより、任意の戻り値に特定の型を定義できます func Demon ()(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