草庐IT

connection_int

全部标签

go - []int 类型没有字段或方法长度

我有以下代码-package"main"varfibonacciNumbers=[]int{0,1}funcgetIthFibo(iint)int{ifi但是,我在if条件下遇到错误-fibonacciNumbers.lengthundefined-type[]inthasnofieldormethodlength我的理解是,我创建了一个包含元素0和1的slice-因此它的长度应该为2,但我得到了上述错误。 最佳答案 获取slice长度的golang方法是使用len函数:ifi 关于go

go - [1] int{} 和 [] int{0} 有什么区别

我试图在其他func中更改array,然后返回更改的。所以我在下面写了一个示例代码,我的问题是为什么changeArr02函数的变化会影响原点arr而changeArr01不会。packagemainimport"fmt"funcchangeArr01(arr[1]int){arr[0]=-100}funcchangeArr02(arr[]int){arr[0]=-200}funcmain(){arr01:=[1]int{}changeArr01(arr01)fmt.Println(arr01)//0arr02:=[]int{0}changeArr02(arr02)fmt.Printl

go - 新的 TCP 连接抛出 "use of closed network connection",即使它刚刚打开

打开新连接时,我有时会在client.Socket.Read(message)处收到“使用已关闭的网络连接”错误在receive功能。这已经够奇怪了,但真正奇怪的是我在尝试关闭位于close(connection.Data)的已关闭channel时收到错误消息,当客户端通过manager.unregister.我显然在这里遗漏了一些东西,因为我的所有日​​志记录都表明这些是全新且未使用的channel和套接字。有什么想法吗?我使用的是Golang1.10版。typeClientManagerstruct{clientsmap[*types.Client]boolbroadcastcha

go - 将浮点字符串转换为int

Closed.Thisquestionneedsdetailsorclarity。它当前不接受答案。想改善这个问题吗?添加详细信息,并通过editingthispost阐明问题。2年前关闭。Improvethisquestion我的服务以字符串形式接收价格,例如“12.34”。我必须将其保存为美分(db),因此必须为1234。以下解决方案安全吗?安全意味着结果始终相同且正确。“12.34”必须为1234,但不能为1235或1233。s:="12.34"f,_:=strconv.ParseFloat(s,64)i:=int(100*f)(我这里不处理错误,因为问题不在于错误处理)

c# - Go语言中Char到Ascii int的转换

我们有一个从C#.Net到Go语言的项目迁移。我已经完成了大部分,但我被困在一个地方。在C#中,我有一个代码,(int)char我怎么用Go语言写这个? 最佳答案 Go中没有“char”类型,最接近的是rune,它是int32的别名。作为int32的别名意味着类型int32和rune是相同的,您可以将rune像一个int32数字(这样你就可以比较它,加上/减去它等等)。但是要知道Go对类型很严格,你不能比较不同类型的值(在你的回答中,你将它与一个无类型的整数常量进行比较,这是可以的)。例如下面的代码是一个编译时错误:varrrune

jsonpb,为什么把int64解码成json,结果是string。像 int64 str=10 -->str :"10"

//code:630//jsonpb,whyint64->jsonisstring.like10-->"10"//https://github.com/golang/protobuf/blob/master/jsonpb/jsonpb.go//Defaulthandlingdeferstotheencoding/jsonlibrary.b,err:=json.Marshal(v.Interface())iferr!=nil{returnerr}needToQuote:=string(b[0])!=`"`&&(v.Kind()==reflect.Int64||v.Kind()==refl

go语言中字符串解析为int

我有一个像“en=10,ab=15”这样的字符串。我想从中得到10作为一个整数。我无法转换它总是返回ASCII代码的类型。我应该将其转换为map吗? 最佳答案 您可以使用:i:=strings.Index(st,"=")然后n,err:=fmt.Sscan(st[i+1:],&d)尝试this:packagemainimport("fmt""log""strings")funcmain(){st:="en=10,ab=15"i:=strings.Index(st,"=")ifi!=-1{vardintn,err:=fmt.Sscan

go - 将 byte slice 转换为 int slice

我目前正在尝试将一个byte转换为一个int,所以我是这样进行的:vard=[]byte{0x01}val,err:=strconv.Atoi(string(d))我得到这个错误:strconv.Atoi:parsing"\x01":invalidsyntax我试了很多方法都没有成功..有人知道吗? 最佳答案 slice已经包含一个字节值1,而不是ascii字符1,因此无需尝试将其转换为字符串。要将一片byte转换为一片int,请单独转换每个值byteSlice:=[]byte{1,2,3,4}intSlice:=make([]in

go - 为 big.Int 创建了类型别名 - 但我无法使用其指针接收器设置它?

我认为类型别名比嵌入结构更优雅。你看,如果我创建一个嵌入big.Int的新类型BigInt,我必须注意嵌入的big.Int始终被初始化,并且除非我重新实现big.Int,比如Cmp、Add、Sub,所有依赖于这个新类型的代码都需要知道BigInt的方法实际上接收到一个big.Int对于他们的论点。这是愚蠢的。所以我尝试给类型起别名。typeBigIntbig.Int//StringcastsBigIntintobig.IntandusesitsStringmethod.func(b*BigInt)String()string{bc:=big.Int(*b)returnbc.String

Golang - 将 int 添加到字节数组的末尾

我想在Golang中将一个int添加到字节数组的末尾。这是我当前的代码:nameLengthBytes:=[]byte{32,32}nameLength:=len(name)nameLengthBytes创建了2个空格,我正在寻找一种将nameLength添加到nameLengthBytes末尾的方法.示例:如果名称长度为7,我希望数组为:{32,55}如果名称长度为12,我希望数组为{49,50}问题是有时名称短于10,所以我需要用前导零填充。 最佳答案 你想要一个用空格填充的ascii表示的数字作为字节?fmt.Sprintf生