Golang安装配置、GoLand安装配置,重点是理解GOPATH、GOROOT以及为什么配置GO111MODULE。 一、Golang安装包下载 下载地址1:https://golang.org/dl 下载地址2【下载地址1无法访问时】:https://golang.google.cn/dl 二、Windows下安装配置 2.1 安装Golang golang的安装只需要修改安装位置即可,修改安装位置 2.2 配置...
1.1 程序的动态链接技术 在实际开发过程中,我们经常需要动态地更新程序的功能,或者在不变更程序主体文件的情况下添加或者更新程序模块。 1.1.1 动态链接库 首先最常见的是windows平台所支持的动态链接库(Dynamic Link Library),一般后缀名为.dll。其优势非常明显: 多个程序可以共享代码和数据。即多个程序加载同一个DLL...
$ curl-s localhost:8000/v1/line{"legend_data":["周一","周二","周三","周四","周五","周六","周日"],"xAxis_data":[120,240,81,387,150,230,180]}# 可以看到该接口会返回一个json结构的数据 $ curl-s localhost:8000/v1/line|python-m json.tool{"legend_data":["\u5468\u4e00","\u5...
//TestByAssert 通过类型断言的方式转换func TestByAssert(t *testing.T) {//无效的类型断言: u.(student) (左侧为非接口类型 user//结构体不是接口类型 - 这里会编译报错//u := user{Name: "rose"}//val, ok := u.(student)//显式声明为interface就可以,意不意外varuinterface{} = user{Name:"ro...
内存对齐的概念 为了减少cpu的访存次数,提高cpu的吞吐量,cpu并不会逐个字节的访问内存,而是以机器字/字长(word size)为单位访问。比如 64 位架构的 CPU ,字长为 8 字节(8B),那么 CPU 访问内存的单位也是 8 字节。但是,如果被访问的数据在内存中的起始地址不是字长的
// src/runtime/sys_linux_amd64.s// int64 futex(int32 *uaddr, int32 op, int32 val,// struct timespec *timeout, int32 *uaddr2, int32 val2);TEXTruntime·futex(SB),NOSPLIT,$0MOVQaddr+0(FP),DIMOVLop+8(FP),SIMOVLval+12(FP),DXMOVQts+16(FP),R10MOVQaddr2+...
通常,当我替换换行符时,我会跳转到正则表达式,就像在这个 PHP 中一样 preg_replace('/\R/u', "\n", $String); 因为我知道这是替换任何类型的 Unicode 换行符(无论是 \n、\r、\r\n 等)的一种非常持久的方法 我也在尝试在 Go 中做这样的事情,但我得到了...
go get -u github.com/storyicon/golang-proxy 进入到golang-proxy目录,执行go build main.go,执行生成的二进制的执行程序即可。 注意: 项目根目录下的./source是项目执行必须的文件夹,里面存储了各类网站源,其他的文件夹储存的均为项目源码。所以在编译后得到二进制程序main文件后,即可将main文件和source文件夹...
func (u *UserDal) Create(ctx context.Context, data *UserCreateParams) error { db := u.DB.Model(&entity.User{}) user := entity.User{ Username: data.Username, Password: data.Password, } return db.Create(&user).Error } // service/user.go ...
p := unsafe.Pointer(uintptr(u) + offset) (4) 调用syscall.Syscall时将指针转换为uintptr syscall包中的Syscall函数将其uintptr参数直接传递给操作系统,然后操作系统可能会根据调用的详细信息,将其中一些重新解释为指针。也就是说,系统调用实现隐式地将某些参数从uintptr转换回指针。