rocket

第 8740 号会员 /

回复了 rocket 创建的主题: gostructcopy : 复制相似的结构体

看测试数据吧:

go test -bench=.
goos: linux
goarch: amd64
pkg: github.com/rocket049/gostructcopy
BenchmarkStructCopy-4   	 2000000	       971 ns/op
PASS
ok  	github.com/rocket049/gostructcopy	2.932s

系统环境:

 OS: Ubuntu 18.04 bionic
 Kernel: x86_64 Linux 4.18.0-20-generic
 Uptime: 3h 34m
 Packages: 2682
 Shell: bash
 Resolution: 1920x1080
 DE: MATE 1.20.0
 WM: Metacity (Marco)
 GTK Theme: 'Ambiant-MATE' [GTK2/3]
 Icon Theme: Ambiant-MATE
 Font: Ubuntu 11
 CPU: Intel Core i5-5300U @ 4x 2.9GHz [42.0°C]
 GPU: Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2) 
 RAM: 1610MiB / 7851MiB

回复了 16779242 创建的主题: 为何import不支持相对路径?

mod 模式支持直接引用子目录的,不用加点,例如在 project1中首先运行:

go mod init project1

目录结构:
project1包含子目录 child1child2

引用他们只需:

import (
   "project1/child1"
   "project1/child2"
)

回复了 weipl 创建的主题: golang中导包的问题

2种情况:
1、目录在 $GOPATH/src 下面,可以 import path/to/pkg

2、目录不在 $GOPATH/src 下面,必须用mod,修改go.mod,用相对路径替代pkgname加入行:
replace pkgname => ./path/to/pkg

回复了 shook 创建的主题: Golang的指针赋值有没有更方便的方法?

楼主没把教程看明白吧!

未赋值的string有默认的零值:""

type Test struct {
    ID   int64
    Name string
    PWD  string
    Time time.Time
}

func main() {
    t := &Test{ID:1,Name:"zhangsan",PWD:"passwd",Time:Time.Now()}
    fmt.Println(t.Name)
}