Apply .gitignore rules

This commit is contained in:
皮蛋13361098506
2025-01-06 16:21:36 +08:00
parent 1b77f62820
commit ccd2c530cf
580 changed files with 69806 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
package stringUtil
import (
"fmt"
"testing"
)
func TestSplit(t *testing.T) {
s := "1,2;3|4||5,6;7|8||9,"
// seps := []string{",", ";", "|", "||"}
retList := Split(s, nil)
if retList[0] != "1" || retList[1] != "2" || retList[2] != "3" || retList[3] != "4" || retList[4] != "5" || retList[5] != "6" || retList[6] != "7" || retList[7] != "8" || retList[8] != "9" {
t.Errorf("ecptected:123456789, but now got:%v", retList)
}
}
func TestSplitToIntSlice(t *testing.T) {
s := "1, 2, 3, 4, 5, a"
if _, err := SplitToIntSlice(s, ","); err == nil {
t.Errorf("Expected got err, but got nil")
}
s = "1, 5, 39,"
if intSlice, err := SplitToIntSlice(s, ","); err != nil {
t.Errorf("Expected got nil, but got error:%s", err)
} else {
// fmt.Printf("intSlice:%v\n", intSlice)
if intSlice[0] != 1 || intSlice[1] != 5 || intSlice[2] != 39 {
t.Errorf("Expected got %s, but got %v", s, intSlice)
}
}
}
func TestSplitToIntRegion(t *testing.T) {
idRegionStr := ""
outerSep := ","
innerSep := "-"
var err error
if _, err = SplitToIntRegion(idRegionStr, outerSep, innerSep); err == nil {
t.Errorf("PraseIdRegion should failed, but now not.err:%s", err)
}
idRegionStr = ","
if _, err = SplitToIntRegion(idRegionStr, outerSep, innerSep); err == nil {
t.Errorf("PraseIdRegion should failed, but now not.err:%s", err)
}
idRegionStr = "1-100,101,200"
if _, err = SplitToIntRegion(idRegionStr, outerSep, innerSep); err == nil {
t.Errorf("PraseIdRegion should failed, but now not.err:%s", err)
}
idRegionStr = "1-100,101-20"
if _, err = SplitToIntRegion(idRegionStr, outerSep, innerSep); err == nil {
t.Errorf("PraseIdRegion should failed, but now not.err:%s", err)
}
idRegionStr = "1-100,101-200"
if idRegionList, err := SplitToIntRegion(idRegionStr, outerSep, innerSep); err != nil {
t.Errorf("PraseIdRegion should succeed, but now failed.err:%s", err)
} else {
if idRegionList[0].Lower != 1 || idRegionList[0].Upper != 100 ||
idRegionList[1].Lower != 101 || idRegionList[1].Upper != 200 {
t.Errorf("SplitToIntRegion should succeed, but now failed. idRegionStr:%s, idRegionList:%v", idRegionStr, idRegionList)
}
}
}
func TestSplitToFloat64(t *testing.T) {
result, err := SplitToFloat64Slice("1.11,2.22", ",")
if err != nil {
t.Error(err)
return
}
fmt.Printf("%v\n", result)
}

View File

@@ -0,0 +1,4 @@
/*
数据类型转换类主要针对interface
*/
package typeUtil

View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -0,0 +1,54 @@
package fileUtil
import (
"fmt"
"testing"
)
func TestGzip(t *testing.T) {
path := GetCurrentPath()
fmt.Printf("CurrPath:%s\n", path)
fileName := fmt.Sprintf("%s/%s", path, "test.txt")
if err := WriteFile(path, "test.txt", true, "first line\nHello world"); err != nil {
t.Errorf("there should be no error, but now it is:%s", err)
}
if err := Gzip(fileName, ""); err != nil {
// if err := Gzip(fileName, path); err != nil {
t.Errorf("There should be no error, but now it has:%s", err)
}
if fileList, err := GetFileList(path); err != nil {
t.Errorf("There should be no error, but now it has:%s", err)
} else {
for _, item := range fileList {
fmt.Printf("item:%s\n", item)
}
}
DeleteFile(fileName)
}
func TestUnGzip(t *testing.T) {
path := GetCurrentPath()
fmt.Printf("CurrPath:%s\n", path)
fileName := fmt.Sprintf("%s/%s", path, "test.txt.gz")
if err := UnGzip(fileName, ""); err != nil {
// if err := UnGzip(fileName, path); err != nil {
t.Errorf("There should be no error, but now it has:%s", err)
}
content, err := ReadFileContent(fmt.Sprintf("%s/%s", path, "test.txt"))
if err != nil {
t.Errorf("There should be no error, but now it has:%s", err)
} else {
fmt.Printf("content:%s\n", content)
}
DeleteFile(fileName)
fileName = fmt.Sprintf("%s/%s", path, "test.txt")
DeleteFile(fileName)
}

View File

@@ -0,0 +1,313 @@
package webUtil
import (
"bytes"
"crypto/tls"
"io/ioutil"
"net/http"
"net/url"
)
func GetFormHeader() map[string]string {
return map[string]string{"Content-Type": "application/x-www-form-urlencoded"}
}
func GetJsonHeader() map[string]string {
return map[string]string{"Content-Type": "application/json;charset=UTF-8"}
}
// POST数据
// weburl远程服务器地址
// datapost的数据集合
// header包头集合
// 返回值:
// 返回的字节
// 错误对象
func PostWebData(weburl string, data map[string]string, header map[string]string) (result []byte, err error) {
// 组装POST数据
postValues := url.Values{}
for key, value := range data {
postValues.Set(key, value)
}
postDataStr := postValues.Encode()
byteData := []byte(postDataStr)
// 调用发送Byte数组的方法
result, err = PostByteData(weburl, byteData, header)
return
}
// POST Byte数组
// weburl远程服务器地址
// datapost的Byte数组
// header包头集合
// 返回值:
// 返回的字节
// 错误对象
func PostByteData(weburl string, data []byte, header map[string]string) (result []byte, err error) {
// 组装POST数据
reader := bytes.NewReader(data)
// 构造请求对象
var request *http.Request
request, err = http.NewRequest("POST", weburl, reader)
if err != nil {
return
}
// 处理头部(包括默认头部,以及传入的头部集合)
if header == nil {
for k, v := range GetFormHeader() {
request.Header.Add(k, v)
}
} else {
for k, v := range header {
request.Header.Add(k, v)
}
}
// 构造transport对象
transport := NewTransport()
transport.DisableKeepAlives = true
transport = GetTimeoutTransport(transport, 30)
transport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
// 构造httpClient对象
client := &http.Client{Transport: transport}
// 发送数据
var response *http.Response
response, err = client.Do(request)
if err != nil {
return
}
defer response.Body.Close()
// 读取数据
result, err = ioutil.ReadAll(response.Body)
return
}
// POST Byte数组
// weburl远程服务器地址
// datapost的Byte数组
// header包头集合
// transport: transport对象
// 返回值:
// 返回的字节
// 错误对象
func PostByteDataWithTransport(weburl string, data []byte, header map[string]string, transport *http.Transport) (result *[]byte, err error) {
// 组装POST数据
reader := bytes.NewReader(data)
// 构造请求对象
var request *http.Request
request, err = http.NewRequest("POST", weburl, reader)
if err != nil {
return
}
// 处理头部
if header != nil {
for k, v := range header {
request.Header.Add(k, v)
}
}
// 构造transport对象
if transport == nil {
transport = NewTransport()
transport.DisableKeepAlives = true
transport = GetTimeoutTransport(transport, 30)
transport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
}
// 构造httpClient对象
client := &http.Client{Transport: transport}
// 发送数据
var response *http.Response
response, err = client.Do(request)
if err != nil {
return
}
defer response.Body.Close()
body, err1 := ioutil.ReadAll(response.Body)
if err1 != nil {
err = err1
return
}
result = &body
return
}
// POST map类型的数据
// weburl:远程服务器地址
// data:数据
// header:包头内容
// transport:transport对象
// 返回值
// http StatusCode
// 字节数组
// 错误对象
func PostMapData(weburl string, data map[string]string, header map[string]string, transport *http.Transport) (statusCode int, result []byte, err error) {
// 组装POST数据
postValues := url.Values{}
for key, value := range data {
postValues.Set(key, value)
}
postDataStr := postValues.Encode()
byteData := []byte(postDataStr)
statusCode, result, err = PostByteData2(weburl, byteData, header, transport)
return
}
// POST byte类型的数据新方法
// weburl:远程服务器地址
// data:数据
// header:包头内容
// transport:transport对象
// 返回值
// http StatusCode
// 字节数组
// 错误对象
func PostByteData2(weburl string, data []byte, header map[string]string, transport *http.Transport) (statusCode int, result []byte, err error) {
// 组装POST数据
reader := bytes.NewReader(data)
// 构造请求对象
var request *http.Request
request, err = http.NewRequest("POST", weburl, reader)
if err != nil {
return
}
// 处理头部
if header != nil {
for k, v := range header {
request.Header.Add(k, v)
}
}
// 构造transport对象
if transport == nil {
transport = NewTransport()
transport.DisableKeepAlives = true
transport = GetTimeoutTransport(transport, 30)
transport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true} //关闭证书校验
}
// 构造httpClient对象
client := &http.Client{Transport: transport}
// 发送数据
var response *http.Response
response, err = client.Do(request)
if err != nil {
return
}
defer response.Body.Close()
// 获取返回值
statusCode = response.StatusCode
result, err = ioutil.ReadAll(response.Body)
return
}
// POST Byte数组
// weburl远程服务器地址
// datapost的Byte数组
// header包头集合
// 返回值:
// 返回的字节
// 错误对象
func PostByteData3(weburl string, data []byte, header map[string]string) (result []byte, err error) {
// 组装POST数据
reader := bytes.NewReader(data)
// 构造请求对象
var request *http.Request
request, err = http.NewRequest("POST", weburl, reader)
if err != nil {
return
}
request.Header.Set("Content-Type", "application/json;charset=UTF-8")
// 构造transport对象
transport := NewTransport()
transport.DisableKeepAlives = true
transport = GetTimeoutTransport(transport, 30)
transport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
// 构造httpClient对象
client := &http.Client{Transport: transport}
// 发送数据
var response *http.Response
response, err = client.Do(request)
if err != nil {
return
}
defer response.Body.Close()
// 读取数据
result, err = ioutil.ReadAll(response.Body)
return
}
// POST Byte数组
// weburl远程服务器地址
// datapost的Byte数组
// header包头集合
// timeout:超时时间
// 返回值:
// 返回的字节
// 错误对象
func PostByteData4(weburl string, data []byte, header map[string]string, timeout int) (result []byte, err error) {
// 组装POST数据
reader := bytes.NewReader(data)
// 构造请求对象
var request *http.Request
request, err = http.NewRequest("POST", weburl, reader)
if err != nil {
return
}
request.Header.Set("Content-Type", "application/json;charset=UTF-8")
// 构造transport对象
if timeout <= 0 {
timeout = 30
}
transport := NewTransport()
transport.DisableKeepAlives = true
transport = GetTimeoutTransport(transport, timeout)
transport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
// 构造httpClient对象
client := &http.Client{Transport: transport}
// 发送数据
var response *http.Response
response, err = client.Do(request)
if err != nil {
return
}
defer response.Body.Close()
// 读取数据
result, err = ioutil.ReadAll(response.Body)
return
}