Maison >développement back-end >Golang >Comment os.FileMode convertit-il les autorisations avant de définir des indicateurs ?
Comment os.FileMode convertit les autorisations avant de définir des indicateurs
Préoccupation d'origine
Lors de l'utilisation de os.FileMode avec des nombres octaux ou décimaux, les autorisations de fichiers résultantes ne semblent pas toujours correspondre au comportement attendu. Plus précisément, la transmission d'un nombre décimal (sans zéro en tête) entraîne des attributs de fichier différents de la transmission de l'équivalent octal.
Logique de conversion
os.FileMode accepte un nombre entier en entrée. et le représente en interne sous la forme d'un entier non signé de 32 bits. Les neuf bits les moins significatifs correspondent aux autorisations des fichiers Unix, tandis que les 12 bits restants sont inutilisés. Lors de la conversion d'un nombre octal en nombre entier, la spécification du langage interprète le nombre en base 8 s'il commence par un zéro non significatif ("0"). Sinon, il interprète le nombre en base 10.
Exemple
Considérez le nombre octal "0700" qui représente les autorisations "rwx------".
Remarque supplémentaire
Les 12 bits inutilisés dans la représentation os.FileMode indiquent fonctionnalités de fichiers spéciales. Cependant, celles-ci ne sont pas pertinentes pour les autorisations de base sur les fichiers.
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!