草庐IT

string-parsing

全部标签

string - 从字符串到结构 Golang

我创建了一个函数来将特定字符串(派生自[]字节)转换为结构。在我正在构建的程序中,进行了加密和解密,并且在这两个channel之间,数据通过JSON传输。我建议的功能有效,但是当字符串变得很长时,处理时间会很长。我想问的是,是否有人知道如何加快此功能或如何更好地管理这种情况。这是函数funcDatadecrypt(input[]byte)Data{s:=string(input)vals:=strings.Replace(s,"","",-1)part:=strings.Fields(vals)c:=strings.Split(s,"int=")[1]co:=strings.Split

parsing - Golang ParseFloat 在示例中不准确

我一直在做一个项目,我必须将字符串转换为uint,以确保一些货币值匹配:total,err:=strconv.ParseFloat(paymentResp.Transactions[0].Amount.Total,64)iferr!=nil{returnctx.JSON(http.StatusBadRequest,err.Error())}ifo.TotalPrice!=uint(total*100){returnctx.JSON(http.StatusBadRequest,"Unabletoverifyamountpaid")}但是当我尝试对几个数字执行strconv.ParseFl

string - 我如何转换并附加到 Golang 中的一段字符串,一个来自 go-ping 存储库的网络类型变量?

这是完整的代码,与您在gitrepo页面上找到的代码没有太大区别。packagemainimport("fmt""github.com/go-ping""time")varstats=[][]string{nil}funcpinging(domainstring,intervalint,unitstring,exitint){current_time:=time.Now().Local()current_time.Format("02-01-2000")switchunit{case"ms":interval*=1case"sec":interval*=1000case"min":in

string - 将 time.Time 转换为字符串

我正在尝试将一些值从我的数据库添加到Go中的[]string。其中一些是时间戳。我得到错误:cannotuseU.Created_date(typetime.Time)astypestringinarrayelement我可以将time.Time转换为string吗?typeUsersSessionstruct{UseridintTimestamptime.TimeCreated_datetime.Time}typeUsersstruct{NamestringEmailstringCountrystringCreated_datetime.TimeIdintHashstringIPst

go - "cannot use as type string in assignment"

我有以下字符串:-1,856,32,0,0,0.000000,0.0000000,0,0,137,0,0,0,1400,0,101,0,0,0,42,00,0,0,0,0,0,0,00,0,0,0,0,0,554,0-1,841,1,0,0,0.000000,0.0000000,0,0,163,0,0,0,1820,0,120,0,0,0,43,00,0,0,0,0,0,0,00,0,0,0,0,0,517,0然后我使用分隔符-1拆分它,这意味着将有一个由2个元素组成的数组(我们称它为array1)。现在,假设array1的第一个元素我想用\r\n再次拆分它,这将是一个数组(array

string - 一行将golang中的[]int转为[]string

我是Go的初学者。将一片整数转换为一片字符串似乎很简单,只需几行:nums:=[]int{1,2,3,4}sNums:=make([]string,len(nums))fori,x:=rangenums{sNums[i]=strconv.Itoa(x)}但是,我想知道是否有一种使用内置/标准库的快速单行代码来完成此操作的方法,类似于Python中的以下内容:sNums=map(str,nums) 最佳答案 看来您正在寻找一个对slice进行操作的map函数。这需要泛型,从Go1.11开始,泛型还不受支持。标准库也不为这些类型的操作(

parsing - 如何正确解析时区代码

在下面的示例中,无论您为parseAndPrint函数选择的时区如何,结果始终为“[date]05:00:00+0000UTC”。这段代码有什么问题?时间应根据您选择的时区而变化。(GoPlayground服务器显然配置为UTC时区)。http://play.golang.org/p/wP207BWYEdpackagemainimport("fmt""time")funcmain(){now:=time.Now()parseAndPrint(now,"BRT")parseAndPrint(now,"EDT")parseAndPrint(now,"UTC")}funcparseAndPr

parsing - Golang yaml 生成双项

我想在yaml中生成以下内容:-bar:hello-bar:anotherpint:guiness-bar:secondpint:""在Golang中,但是制作以下示例,我得到以下输出:-bar:-bar:hello-bar:anotherpint:guiness-bar:-bar:secondpint:""似乎YAMLGolang解析器将结构的名称放在它生成的YAML中,如-bar:然后是它下面的成员数组。我不想要那个,因为它会破坏其他东西。packagemainimport("fmt""gopkg.in/yaml.v2""log")typebarstruct{Barstring}t

戈朗 : Parse bit values from a byte

我需要解析一个由两个字节组成的网络数据包:第一个由8位组成,根据它们的顺序设置某些标志(例如),第二个是uint8(很简单)1-在线0-不活跃1-漂亮1-很帅0-秃头0-聋人0-静音0-盲我如何从字节原语中解析它? 最佳答案 一些用于处理二进制文件的有用的Go标准库包:encoding/binarymath/bits要从字节中提取单个位,您应该使用按位运算符-|、&和>>>。Forexample:packagemainimport("fmt")funcmain(){v:=byte(0xB2)if(v>>4)&1==1{fmt.Pri

string - 如何 fmt.Printf 带有千位逗号的整数

Go的fmt.Printf支持输出带千位逗号的数字吗?fmt.Printf("%d",1000)输出1000,我可以指定什么格式来输出1,000相反?docs似乎没有提到逗号,我无法立即在source中看到任何内容. 最佳答案 使用golang.org/x/text/message使用UnicodeCLDR中任何语言的本地化格式进行打印:packagemainimport("golang.org/x/text/language""golang.org/x/text/message")funcmain(){p:=message.New