亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Golang > 正文

Go語言的os包中常用函數初步歸納

2020-04-01 19:25:33
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Go語言的os包中常用函數初步歸納,用于一些和系統交互功能的實現,需要的朋友可以參考下
 

(1)os.Getwd函數原型是func Getwd() (pwd string, err error) 返回的是路徑的字符串和一個err信息,為什么先開這個呢?因為我看os的包的時候第一個是Chkdir這個包,但是你不知道當前目錄怎么知道改變目錄了呢?所以先說Getwd() 函數demo

復制代碼代碼如下:

import (
 "fmt"
 "os"
)

 

func main() {
 dir, _ := os.Getwd()
 fmt.Println("當前的目錄是:", dir)  //當前的目錄是: D:/test 我的環境是windows 如果linix 就是/xxx/xxx
}


(2)既然說了Getwd()了,我們就把os里邊的Get全部都說了吧!os.Getenv()獲取系統的環境變量,函數原型是func Getenv(key string) string輸入的是一個string的環境變量名稱,返回的是值
復制代碼代碼如下:

import (
 "fmt"
 "os"
)

 

func main() {
 path := os.Getenv("GOPATH")
 fmt.Println("環境變量GOPATH的值是:", path) //windows下 環境變量PATH的值是: D:/test;C:/Go/bin; linux 環境變量GOPATH的值是: /data/goweb
}


(3)下邊的get信息 如果沒有:=的就是返回的都是int一般很少用到的 我就給注釋了做什么的?然后windows和linux結果是什么?
 fmt.Println(os.Getegid())      windows -1  linux  0     //調用者的group的id
 fmt.Println(os.Geteuid())     windows -1  linux  0     //用戶的uid 
 fmt.Println(os.Getgid())      windows -1  linux  0     //調用者的gid的id
 g, _ := os.Getgroups()        
 fmt.Println(g)                windows []  linux  []    //返回的是一個[]int的切片 顯示調用者屬于組的一系列id
 fmt.Println(os.Getpagesize())  windows 4096linux  4096  //windows里邊叫做虛擬內存 linux里邊叫做swap
 fmt.Println(os.Getppid())      windows -1  linux  8621  //調用者的組的進程id
 fmt.Println(os.Getuid())    windows -1  linux  0  //調用者的數字用戶id
(4)os.Chdir()這個函數的原型是func Chdir(dir string) error 輸入字符類型,返回的是錯誤結果,如果改變成功了error=nil
復制代碼代碼如下:

import (
 "fmt"
 "os"
)

 

func main() {
 fmt.Println(os.Getwd())              //顯示當前的目錄 D:/test <nil>
 fmt.Println(os.Chdir("D:/test/src")) //返回<nil>正確切換目錄了
 fmt.Println(os.Getwd())              //切換后的目錄D:/test/src <nil>
}


(5)os.Stat()這個函數是獲取文件的信息,函數函數的原型func Stat(name string) (fi FileInfo, err error)輸出是文件的名稱返回一個FileInfo的接口和err信息,上一個分析ioutil的時候我們就介紹FileInfo的接口類型了
復制代碼代碼如下:

type FileInfo interface {
    Name() string       // 文件的名稱
    Size() int64        // 唱過文件的大小
    Mode() FileMode     // 文件的權限
    ModTime() time.Time // 時間
    IsDir() bool        // 是否是目錄
    Sys() interface{}   // 基礎數據源接口(can return nil)
}
import (
 "fmt"
 "os"
)

 

func main() {
 filemode, _ := os.Stat("widuu.go")  
 fmt.Println(filemode.Mode())        //獲取權限 linux 0600
}


(6)os.Chmod()這個函數的原型是func Chmod(name string, mode FileMode) error改變文件的屬性 譬如讀寫,linux上的0755這樣大家可以理解了吧
復制代碼代碼如下:

import (
 "fmt"
 "os"
)

 

func main() {
 filemode, _ := os.Stat("widuu.go")  
 fmt.Println(filemode.Mode())        //獲取權限 linux 0600
 err := os.Chmod("widuu.go", 0777)   //改變的是文件的權限
 if err!=nil{
  fmt.Println("修改文件權限失敗")
 }
 filemode, _ = os.Stat("widuu.go")  
 fmt.Println(filemode.Mode())        //獲取權限是0777

}


(7)os.Chtime()這個包,函數的原形是func Chtimes(name string, atime time.Time, mtime time.Time) error 輸入string的文件的名稱 訪問時間 創建時間 返回的是error接口信息
復制代碼代碼如下:

import (
 "fmt"
 "os"
 "time"
)

 

func main() {
 err := os.Chtimes("2.go", time.Now(), time.Now())  //改變時間
 if err != nil {
  fmt.Println(err)
 }
 fi, _ := os.Stat("2.go")
 fmt.Println(fi.ModTime())   //輸出時間 2013-12-29 20:46:23.0005257 +0800 +0800
}


(8)os.Environ()的作用是獲取系統的環境變量,函數原形是func Environ() []string返回是環境變量的[]string切片,說道這個就要和其他的一起說明了,那就是os.ClearEnv()清空環境變量
復制代碼代碼如下:

func main() {
 data := os.Environ() //輸出之前的環境變量 APPDATA=C:/Users/xiaolvge/AppData/Roaming CLASSPATH=.;D:/java/jdk1.6.0_38…………
 fmt.Println(data)
 os.Clearenv() //清空環境變量
 data = os.Environ()
 fmt.Println(data) //輸出[]string類型的切片[]
}

(9)os.Exit()就是中斷程序返回自定義的int類型的代碼,函數運行是func Exit(code int)輸入一個int的值就可以了
復制代碼代碼如下:

import (
 "fmt"
 "os"
)

 

func main() {
 func() {
  for {
   fmt.Println("這個是匿名函數")
   os.Exit(1)    //輸出exit status 1中斷操作
  }
 }()
}


(10)函數os.Expand()這個其實就是一個回調函數替換的方法,函數的原形是func Expand(s string, mapping func(string) string) string 輸入的是一個string。對應的是func(string)string的替換字符串的方法,如果沒有字符就替換為空
復制代碼代碼如下:

import (
 "fmt"
 "os"
)

 

func main() {
 mapping := func(s string) string {
  m := map[string]string{"widuu": "www.49028c.com", "xiaowei": "widuu"}
  return m[s]
 }
 data := "hello $xiaowei blog address $widuu"
 fmt.Printf("%s", os.Expand(data, mapping)) //輸出hello widuu blog address www.49028c.com}


(11)os.ExpandEnv()把字符串的s替換成環境變量的內容,函數的原形是func ExpandEnv(s string) string,輸入的當然是要替換的字符,輸出的當然還是字符串了
復制代碼代碼如下:

import (
 "fmt"
 "os"
)

 

func main() {
 data := "GOBIN PATH $GOBIN"
 fmt.Println(os.ExpandEnv(data)) //輸出我本地的環境變量的GOBIN的地址GOBIN PATH C:/Go/bin
}


(12)os.Hostname()這個函數看字面的思意就懂了,是返回主機的HostName(),函數的原形是func Hostname() (name string, err error)返回主機名字和一個error的接口信息
復制代碼代碼如下:

import (
 "fmt"
 "os"
)

 

func main() {
 data, _ := os.Hostname()
 fmt.Println(data) //我是windows環境下返回我的win的主機名 WIDUU
}

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲裸体xxxx| 日韩成人小视频| 亚洲高清久久网| 成人国产精品免费视频| 亚洲新声在线观看| 日韩视频第一页| 38少妇精品导航| 人九九综合九九宗合| 欧美日韩美女在线| 国产精品极品在线| 欧美视频免费在线| 国产精品海角社区在线观看| 国产亚洲欧洲黄色| 日韩视频在线一区| 国产亚洲精品激情久久| 亚洲一区二区三区四区在线播放| 久久精品视频播放| 国产欧美一区二区三区四区| 97婷婷大伊香蕉精品视频| 国产成人精品综合| 俺去了亚洲欧美日韩| 日韩最新中文字幕电影免费看| 成人a在线视频| 国产亚洲精品久久久优势| 亚洲精品福利视频| 免费91在线视频| 成人免费黄色网| 亚洲免费av电影| 亚洲曰本av电影| 久久中文字幕视频| 国产欧美在线观看| 日本亚洲欧美成人| 亚洲欧美国产一区二区三区| 久久综合国产精品台湾中文娱乐网| 亚洲人成网在线播放| 欧美性猛交xxxx免费看漫画| 亚洲色图欧美制服丝袜另类第一页| 欧美日韩一区二区三区| 欧美黄色片免费观看| 午夜美女久久久久爽久久| 亚洲 日韩 国产第一| 亚洲一区二区国产| 欧美国产乱视频| 97国产在线视频| 午夜免费在线观看精品视频| 国产亚洲精品久久久久久| 91亚洲精华国产精华| 欧美日韩国产91| 97视频免费在线观看| 欧美老少做受xxxx高潮| 成人黄色大片在线免费观看| 亚洲自拍欧美另类| 91精品久久久久久久久久久久久| 日韩高清电影免费观看完整| 中文字幕欧美日韩va免费视频| 成人免费淫片视频软件| 97免费视频在线| 欧美日韩在线视频首页| 日韩精品免费一线在线观看| 欧美成人久久久| 777精品视频| 成人免费xxxxx在线观看| 人体精品一二三区| 久久艹在线视频| 国产极品精品在线观看| 国产一区在线播放| 国产欧美久久一区二区| 中文综合在线观看| 久久久亚洲影院| 欧美高跟鞋交xxxxhd| 亚洲精品一区二三区不卡| 久久人人看视频| 日本久久91av| 97色在线观看免费视频| 成人激情免费在线| 色综合久久天天综线观看| 久久久99久久精品女同性| 欧美乱妇高清无乱码| 久久久女人电视剧免费播放下载| 成人免费视频97| 国产亚洲视频中文字幕视频| 国产成人精品在线观看| 亚洲国产美女精品久久久久∴| 国产成人精品优优av| 国产精品www| 国精产品一区一区三区有限在线| 国产精品爽黄69天堂a| 日韩中文字幕在线免费观看| 91探花福利精品国产自产在线| 久久成人国产精品| 日韩大陆欧美高清视频区| 亚洲电影中文字幕| 精品国产鲁一鲁一区二区张丽| 久久99精品久久久久久琪琪| 精品一区电影国产| 中文字幕精品视频| 亚洲精品福利视频| 最近2019年手机中文字幕| 日韩高清av一区二区三区| 欧美成人剧情片在线观看| 久久久久久久久久久网站| 亚洲自拍偷拍视频| 亚洲成人激情小说| 综合av色偷偷网| 日韩视频免费大全中文字幕| 91av在线网站| 欧美性猛交xxxx偷拍洗澡| 91在线|亚洲| 国产精品∨欧美精品v日韩精品| 久久精品99久久香蕉国产色戒| 日韩亚洲国产中文字幕| 国产日韩在线视频| 国产综合色香蕉精品| 欧美精品久久久久久久| 久久久www成人免费精品| 一本大道香蕉久在线播放29| 97av在线播放| 国产一区二区三区欧美| 欧美日韩激情视频| 伊人青青综合网站| 欧美激情视频播放| 九色精品美女在线| 久久av红桃一区二区小说| 久久久爽爽爽美女图片| 欧美美最猛性xxxxxx| 国产欧美日韩专区发布| 久久男人资源视频| 国产精品偷伦免费视频观看的| 日韩精品在线观看视频| 九九视频这里只有精品| 91夜夜未满十八勿入爽爽影院| 国产综合香蕉五月婷在线| 精品日本美女福利在线观看| 日韩av免费观影| 91色在线观看| 成人亚洲欧美一区二区三区| 国产丝袜精品视频| 亚洲国产天堂久久综合网| 亚洲欧美一区二区三区久久| 日本久久久久亚洲中字幕| 亚洲精品视频在线播放| 久久久欧美一区二区| 亚洲成avwww人| 欧美日韩中文字幕在线| 欧美性xxxx极品hd欧美风情| 欧美小视频在线| 欧美性猛交xxxxx免费看| 色黄久久久久久| 91中文字幕在线观看| 国产精品久久久久久久久免费看| 日韩精品亚洲视频| 久久久久久69| 久久久亚洲福利精品午夜| 亚洲人成网7777777国产| 亚洲免费视频在线观看| 日韩精品免费综合视频在线播放| 欧美午夜精品久久久久久人妖| 国产日韩精品电影| 91福利视频网| 日韩av片电影专区| 欧美性极品xxxx娇小| 日韩av影片在线观看| 51久久精品夜色国产麻豆| 狠狠综合久久av一区二区小说|