草庐IT

exporting-csv-and-excel

全部标签

戈朗 : declaring maps and slices with iota values

我有这个Go代码:packagemainimport"fmt"typebaseGroupintconst(fooGroupbaseGroup=iota+1barGroup)vargroups=[...]string{fooGroup:"foo",barGroup:"bar",}varxGroups=map[baseGroup]string{fooGroup:"foo",barGroup:"bar",}funcmain(){fmt.Println("groups")fork,v:=rangegroups{fmt.Println(k,v)}fmt.Println("xGroups")for

google-app-engine - golang 数据存储结构 : keeping field unique and required

我想知道如何最好地保证一个字段是唯一的,如果不是,则不会保存到数据存储中。另外,它应该是必需的。我将此字段用作stringID并需要它是唯一的。我知道我可以简单地尝试通过该字段获取实体并查看它是否存在并围绕它构建逻辑。但是有没有更简单的方法,比如在您的结构中声明该字段应该是唯一的和/或必需的?就像下面的模型。typeCarstruct{Regnrstring"required""unique"}谢谢! 最佳答案 来自数据存储API:Bydefault,forstructpointers,allpropertiesarepotenti

http - 转到 http : difference between serving/static and/static/

我对http.FileServer和斜杠感到非常困惑。我需要为html页面提供脚本。在我工作的目录中,我有页面index.html并且我有一个static目录,里面有myscript.js。第一个问题:这样写对不对?我也看到了src="static/myscript.js"我不知道是否有理由使用其中一个(但我猜它会影响我们必须编写的处理程序服务器)。假设我们满足于第一个版本。第二个问题:在服务器端,我想为目录static注册处理程序。灵感来自thisexample,我这样做:fs:=http.FileServer(http.Dir("./static"))http.Handle("/s

arrays - 戈朗 : calculate diff between two array of bytes and patch an array

我试图找到两个字节数组之间的差异并存储增量。我已阅读此文档https://golang.org/pkg/bytes/但我没有找到任何说明如何找到差异的内容。谢谢。 最佳答案 听起来您只需要一个函数,该函数接受两个字节slice并返回一个新slice,其中包含输入slice中每个元素的差异。下面的示例函数断言输入slice都是非零的并且具有相同的长度。它还返回一个int16slice,因为字节差异范围是[-255,255]。packagemainimport"fmt"funcmain(){bs1:=[]byte{0,2,255,0}b

go - Rethinkdb,去 : Ensure Table and Index in one ReQL statement

我需要确保在应用程序启动时存在表。如果表不存在需要创建,我还想在表上创建二级索引。这在Go中很容易完成,但我想在ReQL中用一条语句完成。所以我想到了这个:funcensureTableIndex(ses*r.Session,namestring,indexstring)(errerror){err=r.TableList().Contains(name).Do(r.Branch(r.Row,r.Expr(nil),r.Do(func()r.Term{returnr.TableCreate(name).Do(func()r.Term{returnr.Table(name).IndexC

csv - 去CSV文件解析

我正在尝试对CSV文件进行非常简单的解析,但出于某种原因,它只读取文件的最后一行。我试过使用reader.ReadAll()packagemainimport("encoding/csv""fmt""os")funcmain(){csvfile,err:=os.Open("somecsvfile.csv")iferr!=nil{fmt.Println(err)return}defercsvfile.Close()reader:=csv.NewReader(csvfile)reader.FieldsPerRecord=-1//seetheReaderstructinformationbe

戈朗 : strange issue with coroutines and channels

我写了一个测试代码,但不明白为什么会得到这个结果。我的sub()应该根据channel值更新或返回countersend1=counter++send0=returncounter我启动了10个go例程con()。他们应该简单地发送许多1到channel(这个增加计数器)我等待1秒并将0发送到channel。我应该获得什么值(value)?我想首先,我得到一个“随机”值,但我得到100000(好的10x10000比1秒快)现在我变了fori:=0;i到fori:=0;i现在我的返回值是1为什么!?现在取消注释main()中的fmt.Println(counter)。如您所见,计数器工作

csv - 我如何在 golang 中覆盖未知类型的 channel

我有一个函数,它接收一个字符串,并基于它创建一个基于字符串值的类型的channel。然后发送该channel以在另一个线程中填充。在这个函数中,我然后想要范围填充的值并使用它们。但是,我收到一个错误:“无法覆盖myChan(类型接口(interface){})”这是我的代码示例:funcmyFunc(inputstring){varmyChaninterface{}switchinput{case"one":myChan=make(chanOne)case"two":myChan=make(chanTwo)}godoStuff(&myChan)for_,item:=rangemyCha

json - 使用 Golang 将 CSV 转换为 JSON - 在 Web 浏览器中打印时会跳过一些数据

我已经使用Golang阅读了一个excelcsv文件,并希望针对您发出的每个GET请求将它们作为JSON数据打印到Web浏览器,但每次我在Web浏览器中打印JSON数据时,都会跳过一些数据。我仔细检查了这些数据是否在csv文件中,但没有在网络浏览器中打印出来。你能给我建议有什么帮助吗?提前致谢packagemainimport("encoding/csv""encoding/json""fmt""github.com/julienschmidt/httprouter""net/http""os")varcsvData[][]stringvarRecordIRISvariint=0fun

go - 使用 GO 语言以 CSV 格式写入/保存数据

我正在尝试将学生分数写入GO中的csv文件。它使用Println每页打印所需的10个结果,但仅将最后一个值(不是全部10个)保存在csv中。这是我在做的事情访客访问studentmarks.com/page=1显示10个学生的分数,并以CSV格式保存访问者点击下一页,他被导航到studentmarks.com/page=2显示另外10名学生的分数,它也保存在CSV的后续列/行中等等fmt.Fprintf(w,KeyTemplate,key.fname,key.marks,key.lname)工作正常,每页显示所有10个结果,但我无法将所有10个结果保存在CSV(使用我当前的代码,仅保存