<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 打開、關閉文件 ~~~ func main() { file, err := os.Open("./main.go") if err != nil { fmt.Println("open file failed") return } defer file.Close() fmt.Println("open file successfully") } ~~~ ## 讀取文件內容 ~~~go func (f *File) Read(b []byte) (n int, err error) ~~~ ~~~ func main() { file, err := os.Open("./test.txt") if err != nil { fmt.Println("open file failed, err: ", err) return } defer file.Close() // Read方法來讀取文件內容 // 聲明長度為128的字節切片來存放讀取到的數據 var tmp = make([]byte, 128) n, err := file.Read(tmp) if err == io.EOF { fmt.Println("文件讀取完畢") return } if err != nil { fmt.Println("read file failed, err: ", err) return } fmt.Printf("讀取了%d個字節\n", n) // 轉成字符串 fmt.Println(string(tmp[:n])) } ~~~ ## 循環讀取文件內容 ~~~ func readFromFile() { file, err := os.Open("./test.txt") if err != nil { fmt.Println("open file failed, err: ", err) return } defer file.Close() var content []byte var tmp = make([]byte, 128) for { n, err := file.Read(tmp) if err == io.EOF { fmt.Println("文件讀取完畢") break } if err != nil { fmt.Println("read file failed, err: ", err) return } content = append(content, tmp[:n]...) } fmt.Println(string(content)) } ~~~ ## bufio讀取文件 ~~~ func readFromFile() { file, err := os.Open("./test.txt") if err != nil { fmt.Println("open file failed, err: ", err) return } defer file.Close() reader := bufio.NewReader(file) for { line, err := reader.ReadString('\n') if err == io.EOF { if len(line) != 0 { fmt.Println(line) } fmt.Println("文件讀取完畢!") break } if err != nil { fmt.Println("read file failed, err: ", err) return } fmt.Print(line) } } ~~~ ## ioutil讀取文件 ~~~ func readFromFile() { content, err := ioutil.ReadFile("./test.txt") if err != nil { fmt.Println("read file failed, err: ", err) return } fmt.Println(string(content)) } ~~~ ## 寫入文件 `os.OpenFile()`以指定模式打開文件,從而實現文件寫入相關功能。 ~~~ const ( // Exactly one of O_RDONLY, O_WRONLY, or O_RDWR must be specified. O_RDONLY int = syscall.O_RDONLY // open the file read-only. O_WRONLY int = syscall.O_WRONLY // open the file write-only. O_RDWR int = syscall.O_RDWR // open the file read-write. // The remaining values may be or'ed in to control sbehavior. O_APPEND int = syscall.O_APPEND // append data to the file when writing. O_CREATE int = syscall.O_CREAT // create a new file if none exists. O_EXCL int = syscall.O_EXCL // used with O_CREATE, file must not exist. O_SYNC int = syscall.O_SYNC // open for synchronous I/O. O_TRUNC int = syscall.O_TRUNC // truncate regular writable file when opened. ) ~~~ **Write**和**WriteString** ~~~ func writeToFile() { file, err := os.OpenFile("./test.txt", os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666) if err != nil { fmt.Println("open file failed, err: ", err) return } defer file.Close() str := "superman\n" file.Write([]byte(str)) file.WriteString("flash") } ~~~ **bufio.NewWriter** ~~~ func writeToFile() { file, err := os.OpenFile("./test.txt", os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666) if err != nil { fmt.Println("open file failed, err: ", err) return } defer file.Close() writer := bufio.NewWriter(file) for i := 0; i < 10; i++ { writer.WriteString("hello world\n") // 將數據寫入緩存 } writer.Flush() // 將緩存中的數據寫入文件 ~~~ **ioutil.WriteFile** ~~~ func writeToFile() { str := "hello world" err := ioutil.WriteFile("./test.txt", []byte(str), 0666) if err != nil { fmt.Println("write file failed, err:", err) return } } ~~~ **拷貝文件** ~~~ func CopyFile(dstName, srcName string) (written int64, err error) { // open需要拷貝的源文件 src, err := os.Open(srcName) if err != nil { fmt.Printf("open %s failed, err:%v.\n", srcName, err) return } defer src.Close() // 寫入目標文件 dst, err := os.OpenFile(dstName, os.O_WRONLY|os.O_CREATE, 0644) if err != nil { fmt.Printf("open %s failed, err:%v.\n", dstName, err) return } defer dst.Close() return io.Copy(dst, src) } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看