随笔分类 -  golang

1
Golang基础(三)
摘要:接口 【接口的概念】在Go语言中接口(interface)是一种类型,一种抽象的类型 【结构体实现接口方法】 package main import "fmt" type sayer interface { Say() string } type Cat struct{} func (c Cat) 阅读全文
posted @ 2020-10-21 12:25 longzhankunlun 阅读(188) 评论(0) 推荐(0)
Golang基础(二)
摘要:数组 【数组的概念】数组是同一种数据类型元素的集合。 【数组的声明与初始化】 声明之后,不可改变类型,不可改变长度。同类型&&同长度数组之间才可以相互赋值 // 数组初始化的几种方法var num = [...]int{1, 2, 3} // [...]表示让编译器自己推断数组长数 var a = 阅读全文
posted @ 2020-10-14 16:45 longzhankunlun 阅读(147) 评论(0) 推荐(0)
Golang基础
摘要:安装与环境 【golang】下载:https://studygolang.com/dl 下载安装完成后打开cmd,输入go version显示当前版本即安装完成 [GOROOT和GOPATH] 其中GOPATH已经设置好了默认为C:\Users\Administrator\go,环境变量已自动配置E 阅读全文
posted @ 2020-10-12 16:17 longzhankunlun
GO语言不要用共享内存来通信,要用通信来共享内存
摘要:这句话是推荐使用channel来实现 "让同一块内存在同一时间内只被一个线程操作" 的目的 先看一个简单的示例代码 package main import ( "fmt" "net/http" ) var j int func HelloServer(w http.ResponseWriter, r 阅读全文
posted @ 2020-09-29 20:34 longzhankunlun 阅读(965) 评论(0) 推荐(0)
iris basicauth过期时间不起作用
摘要:github.com/kataras/iris/v12 修改basicauth.go package basicauth // test file: ../../_examples/authentication/basicauth/main_test.go import ( "encoding/ba 阅读全文
posted @ 2020-09-22 00:27 longzhankunlun 阅读(332) 评论(0) 推荐(0)
golang iris小坑
摘要:访问/pulibc路径 如果controller中定义了GetPublic方法,会执行这个方法,否则会被当做访问静态文件/public/index.html处理 阅读全文
posted @ 2020-09-21 09:35 longzhankunlun
go iris简易mvc模型
摘要:datamodels/user.go package datamodels type User struct { UserId int64 `json:"user_id" xorm:"not null pk autoincr BIGINT(20)"` Name string `json:"name" 阅读全文
posted @ 2020-09-21 00:11 longzhankunlun 阅读(666) 评论(0) 推荐(0)
go iris分组路由和中间件
摘要:package main import ( "github.com/kataras/iris/v12" ) func main() { // 1.创建实例 app := iris.New() // 2.设置错误等级 //app.Logger().SetLevel("debug") // 3.注册模板 阅读全文
posted @ 2020-09-20 15:34 longzhankunlun 阅读(1093) 评论(0) 推荐(0)
golang中[]string和...string
摘要:[]string 是字符串切片 ...string用作参数 ...参数语法形成了可变参数的参数。它将接受零个或多个string参数,并将它们作为切片引用 func f(args ...string) { fmt.Println(args) } func main() { args := []stri 阅读全文
posted @ 2020-09-15 14:02 longzhankunlun 阅读(5078) 评论(0) 推荐(0)
go xorm 咸鱼笔记
摘要:Update的时候,如果用到MustCols,则MustCols里面的字段必须更新,如果初始化结构体没有给该字段赋值,那么将会把nil值强制更新上去 func (d *GiftDao) Delete(id int64) error { data := &models.User{Balance: 1, 阅读全文
posted @ 2020-09-15 13:22 longzhankunlun 阅读(313) 评论(0) 推荐(0)
go xorm cmd工具生成go代码
摘要:如果没有go-sql-driver/mysql就先安装 go get -u github.com/go-sql-driver/mysql 安装xorm,在cmd命令行下 go get github.com/go-xorm/xorm 再安装xorm的cmd命令工具 go get github.com/ 阅读全文
posted @ 2020-09-13 23:48 longzhankunlun 阅读(627) 评论(0) 推荐(1)
golang map与sync.Map新手小坑
摘要:package main import "sync" var sm sync.Map var sm1 *sync.Map var m map[int]string func main() { sm.Store(1, "xixi") sm1.Store(1, "xixi") // 此处因为没有分配内存 阅读全文
posted @ 2020-09-12 10:01 longzhankunlun
golang 生成随机数
摘要:import "math/rand" func luckyCode() int32 { seed := time.Now().UnixNano() // rand内部运算的随机数 code := rand.New(rand.NewSource(seed)).Int31n(int32(rateMax) 阅读全文
posted @ 2020-09-10 08:02 longzhankunlun 阅读(2023) 评论(0) 推荐(0)
golang的mysql基本操作
摘要:package main import ( "database/sql" "fmt" //"log" "strconv" "sync" _ "github.com/go-sql-driver/mysql" ) var ( dbConn *sql.DB err error ) type SimpleS 阅读全文
posted @ 2020-09-08 11:39 longzhankunlun 阅读(188) 评论(0) 推荐(0)
访问golang webserver会触发两次handler
摘要:谷歌浏览器会触发两次Handler package main import ( "io" "net/http" "strconv" ) var count int = 0 // handler func firstPage(w http.ResponseWriter, r *http.Request 阅读全文
posted @ 2020-09-08 00:27 longzhankunlun 阅读(393) 评论(0) 推荐(0)
golang线程安全与互斥锁
摘要:在高并发下或多goroutine同时执行下,可能会同时读写同一块内存 Golang乐观锁和悲观锁 修改一个数值的步骤: ①把想修改的数值从某个地方取出来 ②在取出来的数值修改为期望值 ③把修改后的数值保存到原来的地方 可能存在的问题: 如果两个goroutine同时执行修改数值的步骤,都要进行第③步 阅读全文
posted @ 2020-09-08 00:13 longzhankunlun 阅读(1035) 评论(0) 推荐(0)
golang for select break小坑
摘要:package main import "fmt" import "log" func main() { fmt.Println(test()) } func test() bool { ch := make(chan int,30) for i := 0; i < 30; i++ { ch <- 阅读全文
posted @ 2020-09-03 10:31 longzhankunlun 阅读(1100) 评论(0) 推荐(0)
golang添加简单中间件
摘要:package main import ( "net/http" "github.com/julienschmidt/httprouter" ) func test(w http.ResponseWriter, r *http.Request){ // you code... } type midd 阅读全文
posted @ 2020-08-30 20:59 longzhankunlun 阅读(182) 评论(0) 推荐(0)
go test咸鱼笔记
摘要:$GOPATH中项目目录下建立 main_test.go 文件(需要测试的文件默认以 XXX_test.go 命名) main.go文件中有个函数 func Print1to20() int { res := 0 for i := 1; i <= 20; i++ { res += i } retur 阅读全文
posted @ 2020-08-19 16:33 longzhankunlun 阅读(182) 评论(0) 推荐(0)
golang咸鱼笔记
摘要:【VScode F5默认调试】 文件->打开文件夹 (选择该文件夹) 运行->添加配置,选GO,此时会在文件夹下建立一个.vscode文件夹,里面有个launch.json文件 在vscode里面打开launch.json文件,删除configurations下的配置,点右下角“添加配置”,选Go: 阅读全文
posted @ 2020-03-31 12:23 longzhankunlun

1