imprimer l'Adresse de la tranche dans golang
J'ai quelques exp en C et je suis totalement nouveau pour golang
func learnArraySlice() {
intarr := [5]int{12, 34, 55, 66, 43}
slice := intarr[:]
fmt.Printf("the len is %d and cap is %d \n", len(slice), cap(slice))
fmt.Printf("address of slice 0x%x add of Arr 0x%x \n", &slice, &intarr)
}
Maintenant dans golang tranche est une référence du tableau qui contient le pointeur sur un tableau len de tranche et le cap de la tranche, mais cette tranche sera allouée en mémoire et je veux imprimer l'adresse de ce mémoire. Mais incapable de le faire.
OriginalL'auteur user2383973 | 2014-04-02
Vous devez vous connecter pour publier un commentaire.
http://golang.org/pkg/fmt/
%p
va imprimer l'adresse.OriginalL'auteur seong
Tranches et leurs éléments sont adressables:
fmt.Printf("Addr of first element: %p\n", s)
aussi de travail. Ce genre de logique, lorsque vous êtes à réfléchir qu'fmt.Printf("%v", s)
imprime les éléments de la sous-matrice.OriginalL'auteur Volker
Pour les adresses de la tranche sous-jacente tableau et le tableau (ils sont les mêmes dans votre exemple),
De sortie:
OriginalL'auteur peterSO