Go語言學習筆記九: 指針

Go語言學習筆記九: 指針

指針的概念是當時學C語言時瞭解的。Go語言的指針感受與C語言的沒啥不一樣。學習

指針定義與使用

指針變量是保存內存地址的變量。其餘變量保存的是數值,而指針變量保存的是內存地址。這個內存地址可能保存者一個基本數值。
指針變量也是有類型的。它須要知道本身保存的內存地址指向數值的類型,由於不一樣的數值類型佔用的空間大小是不一樣的。指針

在指針中有兩個重要的符號須要瞭解: &和。 其中&是用於獲取普通變量的地址,而是獲取內存地址指向的數值。看起來就是一對反向操做。
另外在聲明指針時也要用到,因此在變量聲明的時候只是定義指針變量,並非獲取內存地址指向的數值。code

package main

import "fmt"

func main() {
    var ptr1 *int
    var ptr2 *float32

    var a int = 10

    ptr1 = &a;

    fmt.Printf("a變量的地址: %x\n", &a); 

    fmt.Printf("ptr1變量保存的地址: %x\n", ptr1);

    fmt.Printf("ptr1變量地址指向的值: %d\n", *ptr1)
    
    fmt.Printf("ptr2變量的值: %x\n", ptr2)
}

空指針

當一個指針被定義後,沒有賦值時,它的值爲nil。內存

nil指針被稱爲空指針。import

空指針的判斷變量

if (ptr != nil)
if (ptr == nil)
相關文章
相關標籤/搜索