<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] # 相關api ## 建立和打開文件 新建文件可以通過如下兩個方法 ~~~ func Create(name string) (file *File, err Error) 根據提供的文件名創建新的文件,返回一個文件對象,默認權限是0666的文件,返回的文件對象是可讀寫的 func NewFile(fd uintptr, name string) *File 根據文件描述符創建相應的文件,返回一個文件對象 ~~~ 通過如下的兩個方法打開文件 ~~~ func Open(name string) (file *File, err Error) 該方法打開一個名稱為name的文件,但是是只讀方式,內部實現其實調用了OpenFile func OpenFile(name string, flag int, perm uint32) (file *File, err Error) 打開名稱為name的文件,flag是打開的方式,只讀,讀寫等,perm是權限 ~~~ ## 寫文件 ~~~ func (file *File) Write(b []byte) (n int, err Error) 寫入byte類型的信息到文件 ~~~ ~~~ func (file *File) WriteAt(b []byte, off int64) (n int, err Error) 在指定位置開始寫入byte類型的信息 func (file *File) WriteString(s string) (ret int, err Error) 寫入string信息到文件 ~~~ ## 讀文件 ~~~ func (file *File) Read(b []byte) (n int, err Error) 讀取數據到b中 func (file *File) ReadAt(b []byte, off int64) (n int, err Error) 從off開始讀取數據到b中 ~~~ ## 刪除文件 ~~~ func Remove(name string) Error 調用該函數就可以刪除文件名為name的文件 ~~~ # 例子 ## 標準輸出設備 ~~~ func main() { //os.Stdout.Close() //關閉后,無法輸出 fmt.Println("ok?") //標準設備文件(os.Stdout) os.Stdout.WriteString("are you ok?\n") //os.Stdin.Close() //關閉后無法輸入 var a int fmt.Println("請輸入a: ") fmt.Scan(&a) fmt.Println("a = ", a) } ~~~ ## WriteString使用 寫文件 ~~~ func WriteFile(path string) { //打開文件,新建文件 f, err := os.Create(path) if err != nil { fmt.Println("err = ", err) return } //使用完畢,需要關閉文件 defer f.Close() var buf string for i := 0; i < 10; i++ { buf = fmt.Sprintf("i = %d\n", i) n, err := f.WriteString(buf) if err != nil { fmt.Println(err) } fmt.Println(n) } } func main() { path := "./demo.txt" WriteFile(path) } ~~~ ## Read使用 讀取 ~~~ func ReadFile(path string) { //打開文件,新建文件 f, err := os.Open(path) if err != nil { fmt.Println("err = ", err) return } //使用完畢,需要關閉文件 defer f.Close() buf := make([]byte, 1024*2) //2k大小 //n代表從文件讀取內容的長度 n, err := f.Read(buf) //文件出錯同時不是結尾的時候出錯 if err != nil && err != io.EOF{ fmt.Println(err) return } //切片取最大 fmt.Println(string(buf[:n])) } func main() { path := "./demo.txt" ReadFile(path) } ~~~
                  <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>

                              哎呀哎呀视频在线观看