草庐IT

Java:带循环的数组

全部标签

arrays - 捕获数组索引错误

我刚开始学习围棋,我实现了一个算法来检查四个连续的数组索引在两个对角线方向、垂直方向和水平方向上的值是否相等。我设计它以便每个方向都有一个函数,我想知道是否有一种方法可以让我捕获索引错误而不必进行开销来检查每个索引是否在索引约束范围内。func(state*State)checkTopLeftDiagonal(row,colint)bool{token:=state.Board[row][col]b:=token==state.Board[row-3][col-3]&&token==state.Board[row-2][col-2]&&token==state.Board[row-1]

arrays - 如何将字符串转换为字符串数组

我正在尝试将保存在MySQL数据库中的字符串["211007@it_4","211008@it_4"]转换为字符串数组,以将其用作索引值。我找不到在Go中执行此操作的好方法。 最佳答案 您的输入看起来像一个包含字符串元素的JSON数组。如果是这样,只需使用encoding/json将其解码为[]string变量。例子:s:=`["211007@it_4","211008@it_4"]`varparts[]stringiferr:=json.Unmarshal([]byte(s),&parts);err!=nil{fmt.Printl

arrays - For 循环导致 panic : runtime error due to nil map or slice

嘿,我正在尝试为我的程序创建一个简单的标量向量。我从一个简单的变量开始,然后递增它以使其成为32x1大小的向量矩阵。varx[]intfori:=0;i很简单,但是在尝试编译时出现此错误。panic:runtimeerror:indexoutofrangegoroutine1[running]:main.main()/Users/jeanmac/go/src/matrices/main.go:69+0x7dProcessfinishedwithexitcode2不知道为什么。仅供引用,第69行指的是x[i]=i+1。尝试分配x[i]时,我收到以下警告。报告可能导致运行时panic的ni

arrays - 如何比较golang中的两个[][]字符串数组

funcassertEq(test[][]string,ans[][]string){fori:=0;i在我的代码中它没有检查。我使用了两个不同的字符串数组来比较每个字符。 最佳答案 i和j是test和ans的长度。因此,它们不是test[i][j]或ans[i][j]的有效索引。您可以简单地使用reflect.DeepEqual().您可以扩展thissolution对于多维slice。一个简单的例子:packagemainimport("fmt""reflect")funcassertEq(test[][]string,ans[

go - 在 Golang 中获取一个字符串并将其拆分为一个字符串数组

我正在尝试获取一个数组并将其拆分为一个字符串数组,这是我的代码:ifsplit!=""{fori:=0;ii-1{fittings:=string(fitting[:])word:=[]string{}words:=append(word,fittings)fmt.Println(split,words)}}}}}}returnStrings(split)这是我的测试用例:fmt.Println(actual,expected)fori:=0;i这些都没有真正起作用。 最佳答案 IjustneedtoknowhowIcouldpos

go - golang中如何打印字符串底层数组的地址

我是go语言初学者,遇到字符串问题:字符串定义为:typestringStructstruct{strunsafe.Pointerlenint}我使用:str:="abc"fmt.Printf("%p\n",&str)打印结构地址,我想知道如何打印地址底层字符串数组。我英文不好,不知道表达的够不够清楚。非常感谢您的帮助。 最佳答案 使用unsafe打包到convert字符串到reflect.StringHeader.header的数据字段是字节支持数组的地址。funcstringAddr(sstring)uintptr{return

for-loop - 从 go 中的 tcp 连接读取数据是否需要 for 循环?

有一个func来处理tcp连接:for{select{caseconn:=我的问题是,如果你使用for循环,你必须写return否则它会是一个死循环。如果它返回,这个handleClient函数将只执行一次。所以这里不需要for,对吧?我们仍然可以在没有for的情况下读取所有数据,这是正确的思考方式吗? 最佳答案 服务器处理连接的常见模式可能是funchandleClient(connnet.Conn){r:=bufio.NewReader(conn)for{line,err:=r.ReadBytes(byte('\n'))swit

golang 中的 json 编码数组列表

你好我回来再问抱歉,如果你们认为我缺乏搜索,但我已经这样做了几个小时,但我仍然不明白为什么我在Golang中有一个这样的Controller:c3:=router.CreateNewControllerInstance("index","/v4")c3.Post("/insertEmployee",insertEmployee)然后用Postman抛出这个arraylist请求,请求是这样的[{"IDEmployee":"EMP4570787","IDBranch":"ALMST","IDJob":"PRG","name":"MikeyIvanyushin","street":"1Ba

go - 如何解析json数组结构

我使用下面的代码没有成功解析json值,但是它的内部数组[]https://play.golang.org/p/5HdWeyEtviepackagemainimport("encoding/json""fmt")varinput=`[{"created_at":"ThuMay3100:00:01+00002012"},{"created_at":"ThuMay3100:00:01+00002012"}]`funcmain(){varvalmap[string]interface{}iferr:=json.Unmarshal([]byte(input),&val);err!=nil{pa

go - 循环导入和缺乏泛型令人头疼

假设我在golang中有这两个文件://main/a/a.goimport"main/b"typeModelstruct{IDint`json:"id"`Meint`json:"me"`Youint`json:"you"`}funczoom(vb.Injection){}funcStart(){//...}然后第二个文件看起来像://main/b/b.goimport"main/a"typeInjectionstruct{ModelAa.Model}funcGetInjection()Injection{returnInjection{ModelA:a.Start(),}}如您所见,这