在调用listen(fd,backlog)后,是否可以在套接字上取消删除?
编辑:我没有弄清楚自己的错误.我希望能够暂时解除套接字的问题.调用close()将使套接字处于M2LS状态并阻止我重新打开它(或者更糟糕的是,某些恶意程序可能绑定到该套接字)
暂时不显示将是向上游负载均衡器发出信号的一种方式(可能不是最佳方式)此应用无法接受此刻的任何更多请求
是否有任何标准方法来检查操作系统是32位还是64位?我检查了运行时和os包,但找不到. http://play.golang.org/p/d6NywMDMcY
package main
import "fmt"
import "runtime"
func main() {
fmt.Println(runtime.GOOS, runtime.GOARCH)
}
Run Code Online (Sandbox Code Playgroud) 当我偶然发现这种明显的不一致时,我正在做一个简单的链表接口来了解Go接口.nextT
总是零,但返回值next()
不是.
package main
import (
"fmt"
)
type LinkedList interface {
next() LinkedList
}
type T struct {
nextT *T
}
func (t *T) next() LinkedList {
//uncomment to see the difference
/*if t.nextT == nil {
return nil
}*/
return t.nextT//this is nil!
}
func main() {
t := new(T)
fmt.Println(t.nextT == nil)
var ll LinkedList
ll = t
fmt.Println(ll.next() == nil)//why isn't this nil?
}
Run Code Online (Sandbox Code Playgroud)
next()
我得到的没有零检查(我不应该这样做)
true
false
Run Code Online (Sandbox Code Playgroud)
有了它,我得到了预期的结果
true
true
Run Code Online (Sandbox Code Playgroud)
我是否因为某种原因发现了一个错误或者这个意外的故意?使用zip安装在没有MSI的Go版本1的Windows上运行
Go似乎总是在任何给定时间运行至少4个goroutines.还有哪三个不是主要的goroutine?
http://play.golang.org/p/MQBiLmHXBK
package main
import (
"fmt"
"runtime"
)
func main() {
fmt.Println(runtime.NumGoroutine()) //4
}
Run Code Online (Sandbox Code Playgroud) struct A {}
func (a *A) BName(id int) string {
return a.Name
}
struct B {
*A
Name string
}
func main() {
b := &B{Name: "abc"}
fmt.Println(b.Name)
}
Run Code Online (Sandbox Code Playgroud)
代码失败,我想知道如何编写代码来实现,A.BName可以访问B struct属性Name
我有点困惑.我有一个随机字符串生成器,这里是代码:
package utils
import (
"fmt"
"math/rand"
)
var chars = []rune("abcdefghijklmnopqrstuvwxyz0123456789")
func RandSeq(n int) string {
b := make([]rune, n)
for i := range b {
b[i] = chars[rand.Intn(len(chars))]
}
fmt.Println(string(b))
return string(b)
}
Run Code Online (Sandbox Code Playgroud)
每次运行时,它都会生成一个新的随机字符串,但是如果我重新启动服务器,结果会重复.以下是一些结果:
go run main.go
fpllngzieyoh43e0133ols6k1hh2gdny
xxvi7hvszwk1b182tvjzjpezi4hx9gvm
kir0xcta0opsb5qipjzb3h3x9kcegta5
m1zcv5drxckn42gb50anxndsckjdwgfw
5japz01zicapy9eqixuc9uehq235v48c
51wgg1gypq4s9miwn1dxkjqd614m58f0
fyy29g6ujmxbouxshy2plmkmhlnmdbfh
f7kq8u26873eql4yyp7fyilbb72nrtlc
go run main.go
fpllngzieyoh43e0133ols6k1hh2gdny
xxvi7hvszwk1b182tvjzjpezi4hx9gvm
kir0xcta0opsb5qipjzb3h3x9kcegta5
m1zcv5drxckn42gb50anxndsckjdwgfw
5japz01zicapy9eqixuc9uehq235v48c
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?