指針引用內存中的位置。據我所知,實際上所有內存地址都具有相同的類型,而與變量類型無關。而不是使用不同的指針類型(*int等*string),這是否可能只對所有指針類型使用一種類型(var p pointer)?不同的指針類型有什么區別?package mainimport "fmt"func main() { i := 5 s := "abc" var pi *int // alternatively var pi pointer var ps *string // alternatively var ps pointer pi = &i ps = &s fmt.Printf("%p %p", pi, ps) // result is 0x1040e0f8 0x1040a120}考慮以下結構:type Queue struct { Elements []int}有什么不同:func NewQueue() Queue { queue := Queue{} return queue}和func NewQueue() *Queue { queue := &Queue{} return queue}對我來說,這看起來幾乎是一樣的,(實際上嘗試使用一些入隊和出隊會產生相同的結果)但我仍然在野外看到這兩種用法,所以也許一個更可取。
在初始化方法中返回指針和值之間的區別
幕布斯6054654
2022-04-20 17:54:02