OS.FileMode zum Festlegen von Dateiberechtigungen verwenden
Das Erstellen von Dateien in Golang erfordert häufig die Angabe von Dateiberechtigungen mithilfe bitweiser Flags. In vielen Beispielen werden jedoch einfach numerische Berechtigungen wie 0664 verwendet, was unpraktisch sein kann.
OS.FileMode ordnungsgemäß instanziieren
Um os.FileMode ordnungsgemäß zu instanziieren, benötigen Sie Folgendes um Folgendes zu definieren:
Beispielimplementierung
Da es im Betriebssystem oder im Systemaufruf keine Konstanten für Berechtigungsbits gibt, können Sie Ihre eigenen definieren:
const ( OS_READ = 04 OS_WRITE = 02 OS_EX = 01 OS_USER_SHIFT = 6 OS_GROUP_SHIFT = 3 OS_OTH_SHIFT = 0 OS_USER_R = OS_READ << OS_USER_SHIFT OS_USER_W = OS_WRITE << OS_USER_SHIFT OS_USER_X = OS_EX << OS_USER_SHIFT OS_USER_RW = OS_USER_R | OS_USER_W OS_USER_RWX = OS_USER_RW | OS_USER_X OS_GROUP_R = OS_READ << OS_GROUP_SHIFT OS_GROUP_W = OS_WRITE << OS_GROUP_SHIFT OS_GROUP_X = OS_EX << OS_GROUP_SHIFT OS_GROUP_RW = OS_GROUP_R | OS_GROUP_W OS_GROUP_RWX = OS_GROUP_RW | OS_GROUP_X OS_OTH_R = OS_READ << OS_OTH_SHIFT OS_OTH_W = OS_WRITE << OS_OTH_SHIFT OS_OTH_X = OS_EX << OS_OTH_SHIFT OS_OTH_RW = OS_OTH_R | OS_OTH_W OS_OTH_RWX = OS_OTH_RW | OS_OTH_X OS_ALL_R = OS_USER_R | OS_GROUP_R | OS_OTH_R OS_ALL_W = OS_USER_W | OS_GROUP_W | OS_OTH_W OS_ALL_X = OS_USER_X | OS_GROUP_X | OS_OTH_X OS_ALL_RW = OS_ALL_R | OS_ALL_W OS_ALL_RWX = OS_ALL_RW | OS_GROUP_X )
Dadurch können Sie Berechtigungen direkt angeben:
dir_file_mode = os.ModeDir | (OS_USER_RWX | OS_ALL_R) os.MkdirAll(dir_str, dir_file_mode)
Das obige ist der detaillierte Inhalt vonWie lege ich Dateiberechtigungen mit os.FileMode in Golang fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!