go語言 最近遇到的問題總結

2021-08-08 07:19:39 字數 3809 閱讀 3747

利用os包寫檔案

使用strconv進行型別的強轉

空inte***ce即inte***ce與強轉換

獲取機器物理引數

匯入包go執行shell命令

go get "github.com/dlintw/goconf" --讀取二級標題資料

go get "github.com/larspensjo/config" --讀取一級標題資料,可相容上個包

import (

"其他包"

)

//此函式預設將配置檔案當做字串讀取,型別轉換需要在函式外部自己實現

func read_conf_log_file(name string, name1 string) (inte***ce{}, error)

//呼叫函式 傳入引數應為配置檔案的一級標題和二級標題名

log_size_warn, err := read_conf_log_file("log_file_size_warn", "size")

配置檔案如下:

[mem]

mem_warn=10

[cpu]

cpu_warn=30

[disk]

disk_warn=10

[speed]

speed_warn=10

net_card=eth0

[log_file_size_warn]

size=10

[log]

log_path=/path/to/gotest/src/test_main/iwatch/1.conf

log_path2=/path/to/gotest/src/test_main/iwatch/2.conf

log_path3=/path/to/gotest/src/test_main/iwatch/3.conf

...

/*

該函式可一次直接讀取一級標題下的二級標題

再通過range方法迭代獲得二級標題對應的每乙個資料

最後將以map[key1,:value1, key2:value2...]型別返回給外部

key:二級標題 value:二級標題對應的資料

*/func read_conf_log_file_map() (map[string]string, error)

//set config file std end

var log_file_map = make(map[string]string)

//initialized topic from the configuration

if cfg.hassection("log") }}

}//返回的map為map[string]string型別的

return log_file_map, err

}//呼叫函式

log_file_map, err := read_conf_log_file_map()

for k, log_path := range log_file_map

//主要給檔案尾部追加資料

func write_conf()

checkerr(err)

defer file.close()

//n, _ := file.seek(0, os.seek_set)

//fi, _ := file.stat() // 獲取檔案資訊

n, _ := file.seek(0, os.seek_end)

//0:代表偏移量,負數代表向前偏移

//seek_set,seek_cur和seek_end值 依次 為 0, 1和 2

//代表檔案頭,當前位置,檔案尾部

file.writeat(byte("hello golang test\n"), n)

//指定偏移量來寫檔案,這裡為檔案尾部

}

os還有對流的操作,如writer和reader。需要看一看

var ai int32 = strconv.atoi("123")   --string型別轉int32

var astr string = strconv.itoa(123) --int32型別轉string

更多用法見下:

##浮點數與字串互轉

##將「帶引號的字串」 s 轉換為常規的字串(不帶引號和轉義字元)

… strconv包 用法

強型別轉換:一定要用括號擴住需轉換的資料

var a int = 10

var b int64 = int64(a)

//利用inte***ce{}j接收各種不同型別資料

//返回不同型別的資料

func test(data inte***ce{}) inte***ce{}

//呼叫函式

//主要獲取了上下行速率,cpu使用率,記憶體使用率,磁碟使用率

//通過傳入想執行的命令即可

//返回執行的結果

func exec_shell(s string) (string, error)

最近遇到的問題總結!

今天是實習的第6天,這兩天用以前的知識做了個基本的增刪查改小頁面,在這裡總結下遇到的未解決的問題.1.建立專案不能建立linq類 vs2010版建立 用linq是沒問題的,但是建立專案時,步驟跟建立 時一樣,但是建立出來的linq竟然不能用?識別不了我建立的那個類,而2012版沒有這問題,看來以後還...

最近遇到的問題,總結一哈

將list型別轉換成string型別,for string ordercodes orders 超出文字框的區域自動換行 debug是不進入除錯狀態 js的ajax位址url傳參的格式不正確 xml檔案寫的時候注意 和大於號,小於號的區別 用轉義字元轉換 controller入參時,用hashmap...

最近專案遇到問題總結

1 ios彈窗輸入框,關閉後,頁面頂上去不恢復的問題 解決方法 function temporaryrepair let currentposition const speed 1 頁面滾動距離 currentposition document.documentelement.scrolltop d...