Maison >développement back-end >Golang >Les champs anonymes Go struct sont-ils publics ou privés ?

Les champs anonymes Go struct sont-ils publics ou privés ?

WBOY
WBOYavant
2024-02-05 23:30:12915parcourir

Go 结构匿名字段是公共的还是私有的?

Contenu de la question

Comme nous le savons tous, les champs commençant par des lettres majuscules sont des champs publics et les champs commençant par des lettres non majuscules sont des champs privés. Mais Golang prend également en charge les champs anonymes. Par exemple :

type myType struct {
  string
}

Ces champs sont conçus pour l'intégration. Mais ce domaine est-il public ou privé ?


Bonne réponse


Si le nom d'un type intégré est en minuscules, il a une visibilité sur le package. Par exemple :

type t struct {
    string
}

func main() {
    x := t{}
    x.string = "a"
    fmt.println(x)
}

Cependant, si vous tapez t 移动到另一个包 p :

package p

type t struct {
  string
}
package main

import "testmod/p"

func main() {
    x := p.T{}
    x.string = "a" // Error
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer