Go 言語にはポインターがあります。Go 言語でポインターを使用すると、いくつかのタスクを簡単に実行できます。ポインター形式の宣言構文は「var var_name *var-type」で、パラメーター「var-type」はポインターです。 「var_name」はポインター変数の名前であり、変数がポインターとして使用されることを指定するために * 記号が使用されます。
この記事のデモ環境: Windows 7 システム、Go1.11.2 バージョン、Dell G3 コンピューター。
Go 言語にはポインタがあります。
Go 言語でポインターを使用すると、一部のタスクの実行が容易になります。
変数は、コンピューターのメモリ アドレスを参照するために使用される便利なプレースホルダーであることは誰もが知っています。
Go 言語のアドレス文字は & で、変数の前に使用すると、対応する変数のメモリアドレスが返されます。
次の例は、メモリ内の変数のアドレスを示しています:
Example
package main import "fmt" func main() { var a int = 10 fmt.Printf("变量的地址: %x\n", &a ) }
上記のコードを実行した出力結果は次のとおりです:
变量的地址: 20818a220
Now私たちが学んだことは、メモリアドレスとそれにアクセスする方法です。次にポインタを詳しく紹介します。
ポインタとは
#ポインタ変数は、値のメモリ アドレスを指します。 変数や定数と同様に、ポインターを使用する前に宣言する必要があります。ポインタ宣言の形式は次のとおりです。var var_name *var-type
var ip *int /* 指向整型*/ var fp *float32 /* 指向浮点型 */
ポインターの使用方法
ポインターの使用プロセス:package main import "fmt" func main() { var a int= 20 /* 声明实际变量 */ var ip *int /* 声明指针变量 */ ip = &a /* 指针变量的存储地址 */ fmt.Printf("a 变量的地址是: %x\n", &a ) /* 指针变量的存储地址 */ fmt.Printf("ip 变量储存的指针地址: %x\n", ip ) /* 使用指针访问值 */ fmt.Printf("*ip 变量的值: %d\n", *ip ) }
a 变量的地址是: 20818a220 ip 变量储存的指针地址: 20818a220 *ip 变量的值: 20
Go null pointer
ポインタが定義されている場合変数に代入すると、その値は nil になります。 nil ポインタはヌル ポインタとも呼ばれます。 nil は概念的には他の言語の null、None、nil、NULL と同じであり、それらはすべてゼロまたは空の値を指します。 ポインタ変数は通常、ptr と省略されます。 次の例を参照してください: 例package main import "fmt" func main() { var ptr *int fmt.Printf("ptr 的值为 : %x\n", ptr ) }
ptr 的值为 : 0
if(ptr != nil) /* ptr 不是空指针 */ if(ptr == nil) /* ptr 是空指针 */
以上がGo 言語にはポインタがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。