ICode9

精准搜索请尝试: 精确搜索
  • GOHTTP请求2022-09-01 01:02:06

    HTTP请求 本次内容 context 单元测试(给函数做单元测试) pprof调试工具(go语言内置工具) 可以看到代码的cpu和运行时的一些信息 能看到一些图表信息,如内存占用、cpu占用等 锁 sync.Mutex,底层是一个结构体,是值类型。给参数传递参数的时候,要传指针 两个方法 var lock sync.Mutex lo

  • golang解析yaml文件2022-08-31 20:30:08

    golang解析yaml文件   yaml 文件是目前最常用的配置文件,使用go语言编写代码和工具时,也会用到yaml文件,将服务配置及中间件等信息定义到yaml文件中,那么如何将yaml文件中定义的信息读取到代码中进行使用呢?此处使用yaml包和viper包来解析配置文件,后续可根据实际场景来选用。 一、yam

  • go语言流程控制2022-08-31 17:02:26

    go语言分支结构 if特殊写法: if err := Connect(); err != nil { fmt.Println(err) return } Connect 是一个带有返回值的函数,err:=Connect() 是一个语句,执行 Connect 后,将错误保存到 err 变量中。 err != nil 才是 if 的判断表达式,当 err 不为空时,打印错误并返回。 这种

  • 手写快排,解决栈溢出写法,Golang2022-08-31 13:33:14

    package main import "fmt" var swapcnt int func main() { arr := []int{2, 3, 4, 5, 1} //idx := Swap(arr, 0, len(arr)) //fmt.Println(idx, arr) myquickSort(arr, 0, len(arr)-1) fmt.Println(arr) fmt.Println(swapcnt) } func Swap(arr []int, l,

  • 因势而变,因时而动,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang泛型(generic)的使用EP152022-08-31 07:00:32

    事实上,泛型才是Go lang1.18最具特色的所在,但为什么我们一定要拖到后面才去探讨泛型?类比的话,我们可以想象一下给小学一年级的学生讲王勃的千古名篇《滕王阁序》,小学生有多大的概率可以理解作者的青云之志以及壮志难酬的愤懑心情?恐怕很难罢,是的,如果对Go lang的强类型语法没有一段时

  • 大道如青天,协程来通信,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang通道channel的使用EP142022-08-30 19:01:53

    众所周知,Go lang的作用域相对严格,数据之间的通信往往要依靠参数的传递,但如果想在多个协程任务中间做数据通信,就需要通道(channel)的参与,我们可以把数据封装成一个对象,然后把这个对象的指针传入某个通道变量中,另外一个协程从这个通道中读出变量的指针,并处理其指向的内存对象。 通道的

  • channel2022-08-30 13:00:48

    channel有缓冲与无缓冲同步问题 package main import ( "fmt" "time" ) func main() { c := make(chan int, 3) //带有缓冲的channel fmt.Println("len(c) = ", len(c), ", cap(c)", cap(c)) go func() { defer fmt.Print

  • channel定义与使用2022-08-30 12:32:29

    channel定义与使用 package main import "fmt" func main() { //定义一个channel c := make(chan int) go func() { defer fmt.Println("goroutine结束") fmt.Println("goroutine 正在运行...") c <- 666 //将666 发送给c

  • go语言的错误处理(自定义错误类型, wrap error)2022-08-30 08:00:37

    go语言的错误处理没有其他语言的try,catch,finally异常捕获机制,需要显式地进行错误处理,如果只是单纯地将错误返回,在深度过大时可能无法清楚地知道调用的链路。这时候可以通过自定义错误类型,包装错误(wrap error)进行处理,在发生错误时返回带上调用链路。 package main import ( "er

  • 类与封装2022-08-29 19:34:29

    package main import "fmt" //如果类名首字母大写,表示其他包也能够访问 type Hero struct { //如果说类的属性首字母大写, 表示该属性是对外能够访问的,否则的话只能够类的内部访问 Name string Ad int level int } /* func (this Hero) Show() { fmt.Print

  • 继承2022-08-29 19:32:22

    package main import "fmt" type Human struct { name string sex string } func (this *Human) Eat() { fmt.Println("Human.Eat()...") } func (this *Human) Walk() { fmt.Println("Human.Walk()...") } //==============

  • go语言文件处理-012022-08-29 09:00:14

    go语言json文件的读写操作 JSON 是一种使用 UTF-8 编码的纯文本格式,采用完全独立于语言的文本格式,由于写起来比 XML 格式方便,并且更为紧凑,同时所需的处理时间也更少,致使 JSON 格式越来越流行,特别是在通过网络连接传送数据方面。 开发人员可以使用 JSON 传输简单的字符串、数字、布

  • timeAfter()2022-08-29 08:02:30

    time.After() 1. time.After()官方解释 刚开始学习时,time包里sleep最常用,在学习context时,突然看到一个time.after,首先是time包的定义: // After waits for the duration to elapse and then sends the current time // on the returned channel. // It is equivalent to NewTimer(d

  • 切片基础篇2022-08-29 08:02:12

    1. 定义 切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。 切片是一个引用类型,它的内部结构包含地址、长度和容量。切片一般用于快速地操作一块数据集合。 var sint []int // 定义一个int类型的切片 var sstr []string

  • 指针2022-08-28 13:03:46

    指针 package main import "fmt" /* func swap(a int ,b int) { var temp int temp = a a = b b = temp } */ func swap(pa *int, pb *int) { var temp int temp = *pa //temp = main::a *pa = *pb // main::a = main::b *pb = temp //

  • firstgolang2022-08-28 11:04:09

    package main //程序的包名 /* import "fmt" import "time" */ import ( "fmt" "time" ) //main函数 func main() { //函数的{ 一定是 和函数名在同一行的,否则编译错误 //golang中的表达式,加";", 和不加 都可以,建议是不加 fmt.Println(" hello G

  • 变量的声明2022-08-28 11:01:48

    package main /* 四种变量的声明方式 */ import ( "fmt" ) //声明全局变量 方法一、方法二、方法三是可以的 var gA int = 100 var gB = 200 //用方法四来声明全局变量 // := 只能够用在 函数体内来声明 //gC := 200 func main() { //方法一:声明一个变量 默认的值

  • GO 接口2022-08-27 18:33:26

    Go中的接口 接口的介绍 现实生活中手机、相机、U盘都可以和电脑的USB接口建立连接。我们不需要关注usb卡槽大小是否一样,因为所有的USB接口都是按照统一的标准来设计的。 Golang中的接口是一种抽象数据类型,Golang中接口定义了对象的行为规范,只定义规范不实现。接口中定义的规范由

  • Go语言方法2022-08-26 03:04:15

    Go语言方法 两种接收者 Go语言方法有他的接收者,如下代码 package main import "fmt" type A struct { name string } func (a A) Name() string { a.name = "hi" + a.name return a.name } func main() { a := A{ name:"ymk", } fmt.Println(a.Name()) f

  • 即时通讯源码(基于websocket即时通讯源码uniapp)+视频搭建教程2022-08-24 11:34:02

      即时通讯系统源码服务器端构架目录:        仓库源码:im.jstxym.top   1、构建基本服务器  2、用户在线功能  3、用户消息广播机制  4、用户业务层封装  5、在线用户查询  6、修改用户名  7、超时推送功能  8、私聊功能  即时通讯系统源码客户端构架目录:

  • go 查询es数据神器2022-08-23 12:01:10

    可以通过关键字和时间间隔进行查询,关键字可以像kibana上的查询语句填写,代码搞起 //搜索返回的内容 type Result struct { Message string `json:"message"` Source string `json:"source"` //Host string `json:"host"` } type SearchEs struct { } func NewSearchEs() *S

  • go语言的结构体、指针、方法详解2022-08-23 10:32:56

    资源来自:https://blog.csdn.net/DXB2021/article/details/122652779 结体体定义如下: type author struct{ field1 type1 field2 type2 ... } 结构体的定义格式如下: type 类型名 struct{ 字段1 字段1类型 字段2 字段2类型 …… } 基本实例化格式如下: var ins T T为结构体类型。 ins

  • Golang学习(二)2022-08-21 15:00:09

    12.单元测试 12.1引入 在我们工作中有时需要去确认一个函数或者一个模块的结果是否正确,如:     12.2传统的方法解决问题 在main函数中调用addUpper函数,看看实际输出结果是否和预期的结果一致,如果结果一致则说名函数正确,否则函数有错误, 代码实现:     这种方法的缺点: 1)不方便,在

  • Golang中slice操作的一些问题2022-08-21 11:33:44

    package go_tests import ( "bytes" "fmt" "testing" ) // 值类型与引用类型 func TestT55(t *testing.T) { a := 123 b := a // 指向不同的内存地址 fmt.Printf("a: %d, %p \n", a, &a) // a: 123, 0xc00000a338

  • Golang基础教程2022-08-20 12:31:07

    以下使用goland的IDE演示,包含总计的golang基础功能共20个章节 一、go语言结构: 二、go基础语法: 三、变量: 四、常量: 五、运算符: 六、条件语句: 七、循环: 八、函数: 九、变量作用域: 十、数组: 十一、指针: 十二、结构体: 十三、切片: 十四、范围(Range): 十五、集合: 十六

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有