GoLang之开发常用技巧积累

介绍

          goLang开发常遇到一些问题,或者使用中的技巧,逐步积累,以便在开发中方便查找使用。

参考

 

golang自动生成setter和getter   https://www.cnblogs.com/xdao/p/go_accessor.html

go语言入门及技术指南  https://blog.csdn.net/yan_dk/article/details/110557155

技巧汇集

注:本人经常使用IDE工具为goland,下文都以此环境为例。

经常查阅Go标准库文档函数

https://studygolang.com/pkgdoc

IDE快捷键

参考https://www.coder55.com/article/36023

 常用的Alt+Enter:如果复制过来的代码,引用包需要点此快捷键,呼出选择包

建议采用go module方式

一般设置go环境变量为GO111MODULE=on

建议开启go mod方式,打开Files->Settings...

注:

1. 启用Go modules方式后,project Go path就不用存了,否则可能会报错“$GOPATH/go.mod exists but should not“,因为使用Go moduels方式托管了,2种共存会有冲突。

2. 运行或测试执行时,go编译器会自动下载本模块依赖包,只要goroot、gopath、goproxy设置正确,就能正常运行任何一个go程序,这个在新手入门时需要注意的。
 

golang自动生成setter、getter方法

运行下载插件

>go get gitee.com/dwdcth/accessor 

建立类user.go

//go:generate  accessor -type=User
package model

type User struct {
	username string `access:"r,w"`
	password string `access:"r,w"`
	age int `access:"r,w"`
	sex string `access:"r,w"`
}

//var userDatas=map[string]interface{}
func NewUser() *User  {
	return &User{}
}

 

点这里运行,即可生成user_accessor.go,

// Code generated by "accessor -type=User"; DO NOT EDIT.

package model

func (u *User) SetUsername(param string) {
   u.username = param
}
func (u *User) GetUsername() string {
   return u.username
}
func (u *User) SetPassword(param string) {
   u.password = param
}
func (u *User) GetPassword() string {
   return u.password
}
func (u *User) SetAge(param int) {
   u.age = param
}
func (u *User) GetAge() int {
   return u.age
}
func (u *User) SetSex(param string) {
   u.sex = param
}
func (u *User) GetSex() string {
   return u.sex
}
注意:这里的Set、Get,后面生成的名字没有首字母大写,是后来修改的。

如果想合并到user.go,复制迁移过去即可。

 

 

Guess you like

Origin blog.csdn.net/yan_dk/article/details/117898824