數組操作 1. 數組和 for 迴圈不得不說的秘密 數組是一個連續數據存儲空間,同時帶有下標性質操作,下標範圍是 0 ~ 數組容量 - 1 ==> 利用迴圈來進行操作。 // 利用 for 迴圈給予數組中的每一個元素進行賦值操作 // 利用 for 迴圈展示數組中的每一個元素數據存儲內容 class ...
1 package main 2 3 import ( 4 "fmt" 5 "os" 6 "path" 7 "path/filepath" 8 ) 9 10 func main() { 11 fileInfo, err := os.Stat("C:\\Users\\fcl18\\Desktop\\發言.txt") 12 if err != nil { 13 fmt.Println("err", err) 14 return 15 } 16 fmt.Println(fileInfo) 17 18 fmt.Println(fileInfo.Name()) //文件名 19 fmt.Println(fileInfo.Size()) //文件大小 單位 位元組 20 fmt.Println(fileInfo.IsDir()) // 判斷是否為目錄 21 fmt.Println(fileInfo.ModTime()) //修改時間 22 fmt.Println(fileInfo.Mode()) //許可權 23 24 filename1 := "C:\\Users\\fcl18\\Desktop\\發言.txt" 25 filename2 := "ab.txt" 26 //判斷是否為絕對路徑 27 fmt.Println(filepath.IsAbs(filename1)) 28 fmt.Println(filepath.IsAbs(filename2)) 29 //獲得路徑地址 如果是相對路徑就會根據main所在目錄拼接成完整的目錄 30 fmt.Println(filepath.Abs(filename1)) 31 fmt.Println(filepath.Abs(filename2)) 32 33 //獲取父目錄 34 fmt.Println("父目錄", path.Join(filename1, "..")) 35 36 //創建目錄 如果已經存在不會再創建 37 //Mkdir只能創建一層文件夾 38 err1 := os.Mkdir("E:\\網頁\\招生+報名\\aa", os.ModePerm) 39 if err1 != nil { 40 fmt.Println("err", err) 41 return 42 } 43 fmt.Println("文件夾創建成功") 44 //MkdirAll可以全部創建 45 err2 := os.MkdirAll("E:\\網頁\\招生+報名\\aa\\bb\\cc\\dd", os.ModePerm) 46 if err2 != nil { 47 fmt.Println("err", err2) 48 return 49 } 50 fmt.Println("多層文件夾創建成功") 51 52 //創建文件 53 file1, err3 := os.Create("E:\\網頁\\招生+報名\\aa\\a.txt") 54 if err3 != nil { 55 fmt.Println("err", err3) 56 return 57 } 58 fmt.Println(file1.Name()) 59 //相對目錄 60 file2, err4 := os.Create(filename2) 61 if err4 != nil { 62 fmt.Println("err", err4) 63 return 64 } 65 fmt.Println(file2.Name()) 66 67 // file操作 68 file3, err5 := os.Open(filename1) //只讀 69 if err5 != nil { 70 fmt.Println("err", err5) 71 return 72 } 73 fmt.Println(file3) 74 75 /* 76 openFile 77 第一個參數 文件目錄地址 78 79 第二個參數:文件打開方式 80 O_RDONLY int = syscall.O_RDONLY // open the file read-only. 81 O_WRONLY int = syscall.O_WRONLY // open the file write-only. 82 O_RDWR int = syscall.O_RDWR // open the file read-write. 83 // The remaining values may be or'ed in to control behavior. 84 O_APPEND int = syscall.O_APPEND // append data to the file when writing. 85 O_CREATE int = syscall.O_CREAT // create a new file if none exists. 86 O_EXCL int = syscall.O_EXCL // used with O_CREATE, file must not exist. 87 O_SYNC int = syscall.O_SYNC // open for synchronous I/O. 88 O_TRUNC int = syscall.O_TRUNC // truncate regular writable file when opened. 89 90 第三個參數:文件許可權 文件不存在時創建 需指定許可權 91 */ 92 file4, err6 := os.OpenFile(filename1, os.O_RDONLY|os.O_WRONLY, os.ModePerm) 93 if err6 != nil { 94 fmt.Println("err", err6) 95 return 96 } 97 fmt.Println(file4.Name()) 98 99 //關閉文件 100 file4.Close() 101 102 //刪除文件或文件夾 103 //Remove只能刪除單層為空的目錄 104 err7 := os.Remove("E:\\網頁\\招生+報名\\aa\\a.txt") 105 if err7 != nil { 106 fmt.Println("err", err7) 107 return 108 } 109 fmt.Println("刪除成功") 110 //RemoveAll不管目錄是否為空都會刪除 111 err8 := os.RemoveAll("E:\\網頁\\招生+報名\\aa") 112 if err8 != nil { 113 fmt.Println("err", err8) 114 return 115 } 116 fmt.Println("刪除成功") 117 118 }
湊字數
湊字數湊字數
湊字數湊字數湊字數
湊字數湊字數湊字數湊字數
湊字數湊字數湊字數湊字數湊字數