草庐IT

values_to_loop

全部标签

indexing - 戈朗 : int to slice conversion

完全是golang(和编程)菜鸟!给定任何六位数字,如何输出一个slice,其中该数字的每个字符都被分配到slice中的一个单独位置?例如,一个包含所有这些字符的slice(我们称之为s)将具有s[0]=第一个数字、s[1]=第二个数字、s[2]=第三个数字等等。如有任何帮助,我们将不胜感激! 最佳答案 funcIntToSlice(nint64,sequence[]int64)[]int64{ifn!=0{i:=n%10//sequence=append(sequence,i)//reverseorderoutputsequenc

for-loop - 我如何改进代码?

我是编程初学者。我可以在golangfor循环中使用两个元素吗?如果您知道答案或我应该阅读的Material,请帮助我。packagemainimport("fmt")funcmain(){x:=[]int{48,96,86,68,57,82,63,70,37,34,83,27,19,97,9,17,}fora:=0,b:=1;a++,b++{ifx[a]>x[b]{x=append(x[:1],x[1+1:]...)fmt.Println("x[1+1:]x)",x)}else{x=append(x[:0],x[0+1:]...)fmt.Println("x[0+1:]x)",x)}

go - go : different output on named return value 中的闭包

考虑以下函数:funcmain(){varaint=3sum:=func(){a=a*2}sum()sum()fmt.Println(a)//returns12}但是:funcmain(){varaint=3sum:=func()(aint){a=a*2;return}sum()sum()fmt.Println(a)//returns3}我不能完全理解这种行为的逻辑:为什么它会在a=a*2之后返回a的旧值 最佳答案 就像@TimCooper评论的那样,您正在隐藏“a”。如果运行下面的代码,您将看到两个不同的内存地址。表示是“2个变量

for-loop - 字符串 slice 的范围不一致

这段代码:import"fmt"import"time"funcmain(){string_slice:=[]string{"a","b","c"}for_,s:=rangestring_slice{gofunc(){time.Sleep(1*time.Second)fmt.Println(s)}()}time.Sleep(3*time.Second)}产生输出“ccc”,而这段代码:import"fmt"funcmain(){string_slice:=[]string{"a","b","c"}for_,s:=rangestring_slice{s="asd"fmt.Println(

for-loop - Golang 一行for循环

我试图用一个for循环逐行读取Golang中的CSV文件,该循环需要一个带有中断的if语句来查看读取文件的错误是否是EOF。我发现这种语法相当不必要,因为我可以在java中读取while循环条件中的行并同时检查EOF错误。我认为在for循环内声明一个变量是可能的,而且我确信你可以在Golang中使用if语句来做到这一点。正在做:ifv:=2;v>1{fmt.Println("2isbetterthan1")}我这里的第一段代码是我知道可以在我的程序中使用的代码。reader:=csv.NewReader(some_file)for{line,err:=reader.Read()ifer

pointers - 调用结构函数给出 "cannot refer to unexported field or method"

我有这样的结构:typeMyStructstruct{Idstring}和函数:func(m*MyStruct)id(){//doingsomethingwithidhere}我还有一个这样的结构:typeMyStruct2struct{m*MyStruct}现在我有一个函数:funcfoo(str*MyStruct2){str.m.id()}但是我在编译时遇到错误:str.m.idundefined(cannotrefertounexportedfieldormethodmypackage.(*MyStruct)."".id如何正确调用这个函数? 最佳答案

syntax - 戈朗 : how to get sub element from a []interface{} alias

我为[]interface{}定义了一个别名:typestate[]interface{}如何获取状态中的子项:functest(sstate){//Howtoget1stelementins?//orHowtoconvertsbackto[]interface{}?}test([]interface{1,2,3}) 最佳答案 test([]interface{1,2,3})是错误的,应该是test(state{1,2,3}).您还可以像访问任何slice一样访问s中的第一个元素,使用s[x]:typestate[]interfac

戈朗 : json Unmarshal fails to unpack simple example

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭6年前。Improvethisquestion我无法解决这个问题。我有一个简单的结构和另一个使用它两次的结构:typeRangestruct{Positionint`json:"position"`Lengthint`json:"length"`}typeTwoRangesstruct{FromRange`json:"from"`ToRange

去新手 : how to run goroutines shell?

我尝试运行shell-basic但没有任何反应。这是我尝试过的:Torunthisexample,downloadandinstallitwithgoget:gogetgoroutines.com/shell-basic静默完成,我看到它下载了shell基本脚本,但是当我执行shell-basic时,我得到:$shell-basic-bash:shell-basic:commandnotfound我做错了什么,还是我遗漏了什么?我感兴趣的是将go作为scripts运行.. 最佳答案 goget将获取源并将其放入您的Go路径,在she

dictionary - 戈朗 : Using a defined interface in a Map Value

在链接的Playground示例中,我定义了一个类型:typeDoMapmap[int]func(Doer)stringDoer在我定义的接口(interface)类型中。我在具体类型MyDoer上实现接口(interface)。我希望能够构造一个DoMap,其中该映射中的条目包含如下两个函数:func(Doer)string//thisworksfunc(*MyDoer)string//thisdoesn'tfunc(MyDoer)string//more-or-lessthesameidea,alsodoesn't我不能,虽然很明显它们是不同的类型,但我想知道为什么我不能,因为函数