以下获取本地 IP 地址:
package main
import (
"fmt"
"net"
)
func main() {
a, _ := net.LookupHost("localhost")
fmt.Printf("Addresses: %#+v\n",a)
}
Run Code Online (Sandbox Code Playgroud)
这是您通常获取本地 IP 地址并根据需要手动过滤切片的方式吗?
为什么这不起作用?(对不起因为某些原因我无法在Go Playground上获得分享按钮).
package main
import (
"bytes"
"compress/gzip"
"fmt"
"io"
)
func main() {
// ENCODE
data := []byte{1, 2, 3, 4, 5, 6, 7}
bb0 := bytes.NewBuffer(data)
byts := bb0.Bytes()
fmt.Printf("data = % x\n", data)
fmt.Printf("byte buffer bb0 contains = % x\n", byts)
bb1 := new(bytes.Buffer)
w := gzip.NewWriter(bb1)
s1, err := w.Write(byts)
fmt.Printf("%d bytes written using gzip writer, err = %v\n", s1, err)
byts = bb1.Bytes()
fmt.Printf("byte buffer bb1 contains = % x\n", byts)
// DECODE
r, err …Run Code Online (Sandbox Code Playgroud) 这对某人来说应该是一种给予.为什么我不能得到我所期望的("错误不是零")?
http://play.golang.org/p/s8CWQxobVL
type Goof struct {}
func (goof *Goof) Error() string {
return fmt.Sprintf("I'm a goof")
}
func TestError(err error) {
if err == nil {
fmt.Println("Error is nil")
} else {
fmt.Println("Error is not nil")
}
}
func main() {
var g *Goof // nil
TestError(g) // expect "Error is nil"
}
Run Code Online (Sandbox Code Playgroud) 认为
type A struct {
A1 int
}
var a *A
Run Code Online (Sandbox Code Playgroud)
我们可以用反射初始化“a”吗?reflect.ValueOf(a).Type().Elem() 给出了类型,但似乎reflect.ValueOf(a).Elem() 是零值并且不可寻址。
go ×4