随笔分类 - GO
go学习
摘要:package mainimport "fmt"func Sendtchan(c ...int) <-chan int { out := make(chan int) go func() { for i := range c { //c is Sclic type out <- c[i] } clo
阅读全文
摘要:|流水线工作模型在工业领域内十分常见,它将工作流程分为多个环节,每个环节根据工作强度安排合适的人员数量。良好的流水线设计尽量让各环节的流通率平衡,最大化提高产能效率。 Go 是一门实用性语言,流水线工作模型与 Go 融合地非常融洽,只不过我们一般使用另一个名词来表示流水线:pipeline。 pip
阅读全文
摘要:package mainimport "fmt"var name string= "go"func TestName() string { defer func() { name="python" }() fmt.Println(name) return name}func main() { myn
阅读全文
摘要:https://draveness.me/golang/docs/part2-foundation/ch05-keyword/golang-panic-recover/ func test(){ fmt.Println("run......") defer func() { if err:=reco
阅读全文
摘要:https://draveness.me/golang/docs/part3-runtime/ch06-concurrency/golang-sync-primitives/ https://mojotv.cn/404#Golang https://www.bookstack.cn/read/qcr
阅读全文
摘要:func resInt(i int) *int { return &i // new(int)} unc resInt(i int) *int { if i == 0 { return nil } return new(int)}
阅读全文
摘要:package mainimport "fmt"func Slic(q interface{}) *int { s:= q.(*int) fmt.Println(*s) switch v:= q.(type) { case *int: fmt.Println(*v) case string: fmt
阅读全文
摘要:看过 Go 相关源码的同学,应该会注意到不少地方使用了 unsafe.Pointer 和 uintptr,单从类型名称看,这些与“指针”是不是有什么关系? 先附上一张关系图,后面我们再展开解析。 普通指针类型 我们一般将 *T 看作指针类型,表示一个指向 T 类型变量的指针。我们都知道 Go 是强类
阅读全文
摘要:func main() { var n []string =[]string{"fsdfsd"} //var s string ="tsdfs" var i =make([]string,len(n)) 新增地址 for _,v:=range n{ i=append(i, v) } fmt.Prin
阅读全文
摘要:Go语言并没有对删除切片元素提供专用的语法或者接口,需要使用切片本身的特性来删除元素,根据要删除元素的位置有三种情况,分别是从开头位置删除、从中间位置删除和从尾部删除,其中删除切片尾部的元素速度最快。 从开头位置删除 删除开头的元素可以直接移动数据指针: a = []int{1, 2, 3} a =
阅读全文
摘要:package mainimport "fmt"func Slic(n *[]string) []string { *n = append(*n,*n...) return *n}func main() { n:=[]string{"fsfsd"} fmt.Println(Slic(&n)) fmt
阅读全文
摘要:package mainimport "fmt"func main() { var s []int str:=[]string for i:=0;i<3;i++{ s = append(s,i) str=[]string{} fmt.Println(str) } fmt.Println(s[0])}
阅读全文
摘要:前言 func main() { seq := []string{"a", "b", "c", "d", "e"} // 指定删除位置 index := 2 // 查看删除位置之前的元素和之后的元素 fmt.Println(seq[:index], seq[index+1:]) // 将删除点前后的
阅读全文
摘要:https://mp.weixin.qq.com/s?__biz=Mzg5MzYwODEyMQ==&mid=2247487091&idx=1&sn=e88a2c07fab96f1e1a689c5afea25202&chksm=c02d07a5f75a8eb3612be516d447e4a349355
阅读全文
摘要:大家好,我是煎鱼。 前段时间有播放一条快讯,就是 Go1.17 会正式支持切片(Slice)转换到数据(Array),不再需要用以前那种骚办法了,安全了许多。 但是也有同学提出了新的疑惑,在 Go 语言中,数组其实是用的相对较少的,甚至会有同学认为在 Go 里可以把数组给去掉。 数组相较切片到底有什
阅读全文
摘要:package dbhelper import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) /// 连接数据库得到 func GetConn() (*gorm.DB,error) { db,err :=
阅读全文
摘要:Golang很流行,但是有些方面资料很少而且不详实,譬如:gorm的联合查询,当然,也不推荐复杂语句使用orm模型。 现将自己总结的写法和遇到的坑记录如下: Golang要求使用“驼峰命名法”,比如systemId,因为我以前用的是Python,使用Django的orm序列化后返回的参数和数据库表字
阅读全文
摘要:for语句 for 赋值表达式; 关系表达式或逻辑表达式; 赋值表达式 { } for i := 0; i < 10; i++ { } for 关系表达式或逻辑表达式 { } n := 10 for n > 0 { n-- } for { } for { fmt.Println("hello wor
阅读全文
摘要:我们首先来了解一下Go语言中string类型的结构定义,先来看一下官方定义: // string is the set of all strings of 8-bit bytes, conventionally but not// necessarily representing UTF-8-enc
阅读全文
摘要:https://studygolang.com/articles/19475 在这一章我们将学习如何使用 Go 语言将数据写到文件里面。并且还要学习如何同步的写到文件里面。 这章教程包括如下几个部分: 将字符串写入文件 将字节写入文件 将数据一行一行的写入文件 追加到文件里 并发写文件 请在本地运行
阅读全文

浙公网安备 33010602011771号