Go 言語の定数の理解

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、Go 言語における定数に関する理解をテストすることを目的としています。

定数

解決すべき問題は、Go 言語における文字、文字列、ブール値、および数値の定数の使用方法を示すことです。

この実験では、次の要件があります。

  • const キーワードを使用して定数値を宣言します。
  • 定数は、文字、文字列、ブール値、および数値である必要があります。
  • 定数宣言は、var 宣言が可能な場所であればどこにでも出現できます。
  • 定数式は任意の精度で算術演算を行うことができることを示します。
  • 数値定数は、明示的な変換などによって型が与えられるまで型を持ちません。
  • 数値は、変数代入や関数呼び出しなど、型が必要なコンテキストで使用することによって型を与えることができます。
$ go run constant.go
constant
6e+11
600000000000
-0.28470407323754404

以下に完全なコードがあります。

// Go は、文字、文字列、ブール値、
// および数値の _定数_ をサポートしています。

package main

import (
    "fmt"
    "math"
)

// `const` は定数値を宣言します。
const s string = "constant"

func main() {
    fmt.Println(s)

    // `const` 宣言は、`var`
    // 宣言が可能な場所であればどこにでも出現できます。
    const n = 500000000

    // 定数式は任意の精度で算術演算を行います。
    const d = 3e20 / n
    fmt.Println(d)

    // 数値定数は、明示的な変換などによって型が与えられるまで型を持ちません。
    fmt.Println(int64(d))

    // 数値は、変数代入や関数呼び出しなど、型が必要なコンテキストで使用することによって型を与えることができます。たとえば、ここでは `math.Sin` は `float64` を期待しています。
    fmt.Println(math.Sin(n))
}

まとめ

この実験では、Go 言語において定数を宣言して使用する方法を学びました。定数は、文字、文字列、ブール値、および数値の型を持つことができます。定数式は任意の精度で算術演算を行います。数値定数は、明示的な変換などによって型が与えられるまで型を持ちません。