随笔分类 - go语言
发表于 2022-03-06 16:03阅读次数:2002评论次数:0
摘要:1.创建lauch.json文件 2.然后在项目目录中会自动创建.vscode的目录 3.在.vscode目录下创建settings.json项目独立配置文件 4.在settings.json中写入 { // 这个是写go测试用例时,测试用例代码中需要用的环境变量从下面的文件中获取 "go.test
阅读全文 »
发表于 2022-03-06 15:29阅读次数:997评论次数:0
摘要:1.文件>首选项>设置>搜索Test Flags 2.选择在settings.json中编辑 3.添加以下内容 "go.testFlags":[ "-v" ],
阅读全文 »
发表于 2022-03-04 04:09阅读次数:2165评论次数:2
摘要:参考文档 // 文档 https://github.com/golang-jwt/jwt https://pkg.go.dev/github.com/golang-jwt/jwt@v3.2.2+incompatible#example-NewWithClaims-CustomClaimsType h
阅读全文 »
发表于 2022-03-03 15:35阅读次数:73评论次数:0
摘要:package main import "UTF-8" func main(){ // 统计Uncode字符数量 fmt.Println(utf8.RuneCountInString("忍者")) // 2 fmt.Println(utf8.RuneCountInString("聋人出鞘,fight
阅读全文 »
发表于 2022-03-02 13:46阅读次数:193评论次数:0
摘要:func dirents(dir string) []os.FileInfo{ entries, err := ioutil.ReadDir(dir) // 读取目录并返回排好序的文件以及子目录名 if err != nil{ fmt.Fprintf(os.Stderr, "du1: %v\n",
阅读全文 »
发表于 2022-03-02 11:19阅读次数:175评论次数:0
摘要:channel 如果说goroutine是并发体的话,那么channels则是他们之间的通信机制。一个channel是一个通信机制,它可以让一个goroutine通过它给另一个goroutine发生值信息。每个channel都有一个特殊的类型,也就是channels可发送数据的类型。一个可以发送in
阅读全文 »
发表于 2022-03-01 15:49阅读次数:37评论次数:0
摘要:每一个并非的执行单元叫作一个goroutine.设想这里的一个程序有两个函数,一个函数做计算,另一个输出结果,假设两个函数没有相互之间的调用关系。一个线性的程序会先调用其中的一个函数,然后再调用另一个。如果程序中包含多个goroutine,对两个函数的调用规则可能发生再同一时刻。马上就会看到这样的一
阅读全文 »
发表于 2022-03-01 15:07阅读次数:168评论次数:0
摘要:类型断言是一个使用在接口值上的操作。语法上它看起来像x.(T)被成为断言类型,这里x表示一个接口的类型和T表示一个类型。一个类型断言检查它操作对象的动态类型是否和断言的类型匹配。 这里有两种可能。 第一种,如果断言的类型T是一个具体类型,然后类型断言检查x的动态类型是否和T相同。如果这个检查成功了,
阅读全文 »
发表于 2022-03-01 14:03阅读次数:99评论次数:0
摘要:// 实际上它是interface类型,这个类型有一个返回错误信息的单一方法: type error interface{ Error() string } 创建一个error最简单的方法就是调用errors.New函数,它会根据传入的错误信息返回一个新的error。整个errors包仅只有4行:
阅读全文 »
发表于 2022-03-01 13:47阅读次数:146评论次数:0
摘要:// 示例 // net/http package http type Handler interface{ ServeHTTP(w ResponseWriter, r *Request) } func ListenAndServe(address string, h Handler) error
阅读全文 »
发表于 2022-03-01 10:53阅读次数:58评论次数:0
摘要:一个内置的排序算法需要知道三个东西:序列的长度,表示两个元素比较的结果,一种交换两个元素的方式;这就是sort.Interface的三个方法: package sort type Interface interface{ Len() int Less(i, j int) bool Swap(i, j
阅读全文 »
发表于 2022-02-28 16:02阅读次数:31评论次数:0
摘要:1. 不管你的method的receiver是指针类型还是非指针类型,都是可以通过指针/非指针类型进行调用的, 编译器会帮你做类型转换 2.在声明一个method的receiver该是指针还是非指针类型时,你需要考虑两方面的因素, 第一方面是这个对象本身是不是特别大,如果声明为非指针变量时,调用会产
阅读全文 »
发表于 2022-02-27 22:59阅读次数:256评论次数:0
摘要:参考文档 Gin: https://gin-gonic.com/zh-cn/docs/quickstart/ net/http: https://pkg.go.dev/net/http 代码分析 package main import ( "fmt" "time" // 时间包 "net/http"
阅读全文 »
发表于 2022-02-27 20:31阅读次数:83评论次数:0
摘要:文档 https://github.com/go-ini/ini https://ini.unknwon.io/docs/intro/getting_started go get -u gopkg.in/ini.v1
阅读全文 »
发表于 2022-02-27 03:37阅读次数:416评论次数:0
摘要:文档 https://learnku.com/docs/gorm/v2/v2_release_note/9756 https://gorm.cn/zh_CN/docs/ 下载安装 go get -u gorm.io/gorm go get -u gorm.io/driver/mysql 简单示例 p
阅读全文 »
发表于 2022-02-25 17:54阅读次数:44评论次数:0
摘要:问题 // 创建一些目录,再将目录删除 // 错误写法 var rmdirs []func() for _, dir := range tempDirs() { os.MkdirAll(dir, 0755) rmdirs = append(rmdirs, func(){ os.RemoveAll(d
阅读全文 »
发表于 2022-02-25 10:43阅读次数:28评论次数:0
摘要:数据类型可分为四类 基础类型 数字、字符串和布尔型 复合类型 数组、结构体 引用类型 指针、切片、map、函数、通道channel 接口类型 interface
阅读全文 »
发表于 2022-02-15 17:54阅读次数:195评论次数:0
摘要:package main import ( "fmt" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" ) // 定义表 type Users struct { Id int `orm:"auto;column(id
阅读全文 »
发表于 2022-01-16 22:07阅读次数:199评论次数:0
摘要:beego bee脚手架工具 go get github.com/beego/bee bee创建项目 // 将下载好的二进制执行文件bee.exe路径添加到系统变量Path中 // F:\all_go_project\goproject\bin bee new beegodemo01 // 创建项目
阅读全文 »