摘要: //上传文件 func (this *ObjectController) UploadFiles() { url, _ := base.GetApiLink(this.Ctx.Request) result := base.NewApiResult(Version, url) this.Data[" 阅读全文
posted @ 2018-05-03 14:13 craneboos 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 能力模型 级别模型 初级 primary 熟悉基本语法,能够看懂代码的意图; 在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范; 中级 intermediate 能够独立完成用户故事的开发和测试; 能够嗅出代码的坏味道,并知道如何重构达成目标; 高级 senior 能够开发出 阅读全文
posted @ 2018-04-28 08:24 craneboos 阅读(2100) 评论(0) 推荐(0) 编辑
摘要: **1**.简述golang中make和new的区别 make用于内建类型(只能用于创建map、slice 和channel)的内存分配。并且返回一个有初始值(非零)的T类型,而不是*T。 new用于各种类型的内存分配。new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型的值 阅读全文
posted @ 2018-04-27 09:59 craneboos 阅读(585) 评论(0) 推荐(0) 编辑
摘要: 反射reflection 反射可大大提高程序的灵活性,使得interface{}有更大的发挥余地 反射使用TypeOf和ValueOf函数从接口中获取目标对象信息 反射会将匿名字段作为独立字段(匿名字段本质) 想要利用反射修改对象状态,前提是interface.data是settable,即poin 阅读全文
posted @ 2018-04-25 15:37 craneboos 阅读(219) 评论(0) 推荐(0) 编辑
摘要: type是go语法里的重要而且常用的关键字,type绝不只是对应于C/C++中的typedef。搞清楚type的使用,就容易理解go语言中的核心概念struct、interface、函数等的使用。以下我用例子代码总结描述,请特别留意代码中的注释。 1、定义结构体 //结构体定义 type perso 阅读全文
posted @ 2018-03-21 10:24 craneboos 阅读(21023) 评论(1) 推荐(2) 编辑
摘要: func Newstr(str string) (string, error) { m := strings.Split(str, ".") interid := make([]int64, 0) for i := 0; i < len(m); i++ { str1, err := strconv. 阅读全文
posted @ 2018-03-06 13:22 craneboos 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 压缩文件: 复制代码代码如下: package mainimport ( "fmt" "os" "io" "archive/tar" "compress/gzip")func main() { // file write fw, err := os.Create("tar/lin_golang_sr 阅读全文
posted @ 2018-02-11 09:00 craneboos 阅读(261) 评论(0) 推荐(0) 编辑
摘要: package main; import ( "os" "fmt" "strconv" ) func main() { //打开文件,返回文件指针 file, error := os.Open("./1.txt"); if error != nil { fmt.Println(error); } f 阅读全文
posted @ 2018-02-06 10:00 craneboos 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 1)解释什么是GO? GO是一种开源编程语言,可以轻松构建简单、可靠和高效的软件。程序是从包中构建的,其属性允许有效地管理依赖关系。 2)GO中的语法是什么? GO中的语法遵循Extended Backus-Naur Form(EBNF) Production = production_name “ 阅读全文
posted @ 2018-01-29 13:03 craneboos 阅读(354) 评论(0) 推荐(0) 编辑