草庐IT

if-null-then-null

全部标签

go - 错误 : "declared and not used" even if I assign to it

我找不到为什么下面的代码给出编译错误“alivedeclaredandnotused”。funcping(ipstring){varalivebool_,err:=exec.Command("ping","-n1","-w1000",ip).Output()iferr!=nil{alive=false}else{alive=true}} 最佳答案 您看到的编译错误正是正在发生的事情。varalivebool未使用。您声明它并为其分配一个值,但您永远不会对它做任何事情。这是对将运行的代码的playground友好修改:packagem

debugging - IF 语句下面的代码永远不会执行

我的代码中有一段出现了意外行为。...fmt.Println("Error:",err)iferr==nil{returnerr}fmt.Println("Donecategory")...上面的部分有以下输出Error:下面的if语句永远不会执行。如果我删除if语句,代码将按预期运行。引用:https://github.com/skarllot/flogviewer/blob/master/wlog/parser.go#L138 最佳答案 让我们逐步了解它。fmt.Println("Error:",err)如果输出是Error:.

go - Go 的 If 语句

我正在玩围棋。我想做到这一点,所以当有人输入“hi”时,它会打印出hiii这是我的代码packagemainimport("fmt""bufio""os")funcmain(){reader:=bufio.NewReader(os.Stdin)fmt.Println("SimpleShell")fmt.Println("---------------------")for{fmt.Print("->")text,_:=reader.ReadString('\n')if(text=="hi"){fmt.Println("hiii")}}} 最佳答案

go - main func 上的 reviced channel error 但是 goroutine 中的 if reviced progrenn 没有错误

我通过goroutine将数据发送到channel。当我想在主函数中接收它时,在channel的最后一次接收时出现死锁,packagemainimport("time""fmt")funcsender(chchanstring){ch输出:printresult%schenlprintresult%szhangsprintresult%slisifatalerror:allgoroutinesareasleep-deadlock!goroutine1[chanreceive]:main.main()但是,如果我也在goroutine中替换接收到的进度,则没有错误orrced。有人可以帮

if-statement - golang 中的 if else 语句

谁能帮我调试这个程序,每个输入只处理else部分。这是一个给学生评分的程序。学生输入分数并显示成绩funcmain(){varxintfmt.Println("Enteryourmarks")fmt.Scanf("%d",&x)if(100 最佳答案 你的逻辑有问题。改变if(100到if75因为数字不能大于100和小于75。当然其他线路也是一样。请注意,您可以减少比较。假设你一开始测试这个数字是否小于100,那么你测试完小于75就不用再测试它是否小于75了。典型的Go代码可能会在这里有一个switch而不是所有那些if/else。

go - 在golang的If-else block 中为变量分配不同的结构

我想做这样的事情typeStruct1{str1string}typeStruct2{int1int}ifsomething{someVar:=Struct1{str1:''}}else{someVar:=Struct2{int1:1}}somefunc(someVar)我知道我不能在一个block内声明c然后在外部访问它。我试过这样的东西typeStruct1{str1string}typeStruct2{int1int}someVar:=Struct2{b:1}ifsomething{someVar:=Struct1{a:''}}somefunc(c)它给出了一个错误-Cannot

sql - 一行的多个条件如果不存在则返回 NULL postgresql

我有这样的架构:[ad_id].[name].[valueofname]1.name."brian"1.age."23"2.job."IT"2.name."Jack"行名称包含多个值:年龄、姓名、生日、工作、年龄我想将其转换为:[ad_id].[name].[age].[birthday].[job][valueofad_id][valueofname][valueofnameofage][valueofnameofbirth][valueofnameofjob]我在下面做了这个查询选择来修复它,所以在我的程序中我必须得到结果ad_id='xxxx'代表每个whenname='name

go - 为 golang sql.NULL* 类型自定义 MarshalText()

我正在尝试在使用SQL.NullFloat64和https://github.com/kisielk/sqlstruct的代码中将SQL结果编码为JSON包裹。引用:https://github.com/kisielk/sqlstruct/issues/11#issuecomment-143400458这个问题是我得到的{"Float64":141,"Valid":true}JSON中的结果不仅仅是值。按照上面github问题中的建议,我尝试制作自定义MarshalText()但它从未被调用。代码位于:https://gist.github.com/fils/3f557941d71f1

json - 在 Go 中,为什么 JSON null 有时不会传递给 UnmarshalJSON 进行解码?

Go提供了encoding/json.Unmarshaler接口(interface),因此类型可以控制它们从JSON解码的方式。在几乎所有情况下,编码后的JSON值都直接传递给UnmarshalJSON方法,但如果Unmarshaler是一个指针并且JSON值为null。在这种情况下,指针设置为nil而根本不调用UnmarshalJSON。这是一个例子:packagemainimport("encoding/json""fmt")typeTstringfunc(v*T)UnmarshalJSON(b[]byte)error{ifb[0]=='n'{*v="null"}else{*v=

variables - if/else 条件定义变量。未定义 : dat (variable)

我知道这是一个基本问题,但我很好奇为什么下面的代码不起作用。没有不声明此变量的用例。if(bundled=="true"){dat,err:=Asset("index.html")}else{dat,err:=ioutil.ReadFile("./index.html")}if(err!=nil){os.Exit(0)}t,_=t.Parse(string(dat))p:=Person{Scope:""}t.Execute(w,p)我得到了错误.\run.go:262:undefined:dat我确定这只是我仍在学习的基本GOLANG知识。感谢您的支持 最佳