ICode9

精准搜索请尝试: 精确搜索
  • golang判断变量的类型2022-04-07 18:02:08

    判断container的类型 打印其中的元素之前,正确判断变量的类型,使用“类型断言”表达式。value, ok := interface{}(container).([]string) var obj string tp := fmt.Sprintf("%T", obj)   package main import (     "fmt"     "math/rand"     "time" ) func ma

  • golang操作rocketmq2022-04-06 14:03:48

    下载 go get github.com/apache/rocketmq-client-go/v2 代码 func main() { // 1. 创建主题 //CreateTopic("test-04", 10909) // 2. 生产者向主题中发送消息 //SendSyncMessage("hello world0002") // 3. 消费者订阅主题并消费 SubscribeMessage() } func Create

  • golang操作mysql简单例子2022-04-06 13:01:12

    ==表结构== CREATE TABLE `point_info` ( `id` BIGINT(19) NOT NULL COMMENT '自增ID', `product_key` VARCHAR(50) NOT NULL COMMENT '产品标识' COLLATE 'utf8mb4_general_ci', `device_name` VARCHAR(50) NOT NULL COMMENT '设备名称&#

  • golang 中 sync.Mutex 的实现2022-04-06 01:03:42

    mutex 的实现思想 mutex 主要有两个 method: Lock() 和 Unlock() Lock() 可以通过一个 CAS 操作来实现 func (m *Mutex) Lock() { for !atomic.CompareAndSwapUint32(&m.locked, 0, 1) { } } func (m *Mutex) Unlock() { atomic.StoreUint32(&m.locked, 0) } Lock() 一直进行

  • Golang | 测试与性能调优2022-04-06 01:02:53

    Test 我们在日常的工作过程中,自测是不可缺少的,公司还会要求所有的公共方法必须要写单测,在别的语言中,我们如果想要写单测还需要使用到测试框架,但是Go语言中,直接支持测试,并且使用起来非常简单。 比如说我现在写了一个: // twoSum 给定数组,求两个之和的数组内地址 func twoSum(nums []

  • kubernetes 的源码解读(一)2022-04-05 19:04:44

    kubernetes 的源码解读(一) Golang 语法 —— 方法声明 四个部分: • 关键字 func • 方法名字:首字母是否大写决定了作用域,(首字母大写为公共,首字母小写为私有) • 参数列表:[<name, type>] • 返回列表: [type] Golang 语法 • import 关键字引入别的包 • 如何声明一个方法 • 方法

  • 【Gin学习】Golang - Gin框架 LoadHTMLGlob加载模板文件2022-04-05 14:33:44

    gin里LoadHTMLGlob这个函数的用法, 首先啊,LoadHTMLGlob这个只能使用一次 ,多次调用的话 最后一次调用生效 还有这个加载子文件夹下的模板文件 刚开始的时候 我的文件结构是这样的 views-- | |--index.html |       |--user--

  • golang开发:go并发的建议2022-04-05 08:00:46

    这个是前段时间看到Go语言的贡献者与布道师 Dave Cheney对Go并发的建议或者叫使用的陷阱(不是我自己的建议),结合自己最近几年对gorotine的使用,再回头看这几条建议,真的会茅塞顿开,觉得特别重要。这篇文章对并发的建议的章节地址 https://dave.cheney.net/practical-go/presentations/

  • golang 实践2022-04-05 00:31:33

    Golang range循环陷阱    https://zhuanlan.zhihu.com/p/158583555   2. for和range性能大比拼2.1 切片[]int通过benchmark对for和range进行测试,遍历 []int 类型的切片,for 与 range 性能几乎没有区别。2.2 切片[]struct 仅遍历下标的情况下,for 和 range 的性能几乎是一样的。

  • Golang - 冒泡排序算法2022-04-04 23:31:40

    1、算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字

  • LRU-K golang实现 魔改leetcode-LRU题目 微派三面2022-04-04 23:03:22

    微派三面的时候,面试官问了LRU-K,当时没实现出来,受益良多,事后去魔改了下LeetCode146-LRU题目   请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关

  • Golang | 接口2022-04-04 06:00:17

    接口 接口是一个或者多个方法签名的集合,任何类型 只要实现一个集合的全部方法,就表示这个类型实现了这个接口,并且无需在类型上显式的添加接口声明。 接口命名一般以 er结尾 接口只有方法签名,没有实现 接口没有数据字段 可以在一个接口中嵌入其它接口 一个类型可以实现多个接口

  • 2-Golang变量2022-04-04 01:31:56

    变量的使用步骤 声明变量 给变量赋值 使用变量 package main import "fmt" func main() { // 声明变量 var i int // 给变量赋值 i = 10 // 使用变量 fmt.Println("i=", i) } Golang变量使用的三种方式 第一种:指定变量类型,声明后若不赋值,使用默认值 第二种:根据值自

  • [2022-04-03]golang学习笔记2022-04-03 13:33:43

    Learn about Office Tour Function values is "C" like Callbacl package main import ( "fmt" ) func f1 (a int, callback func (x, y int) int) { fmt.Println("1111") callback(1,2) } func main() { //declare named function

  • golang package和module使用2022-04-02 22:34:28

    Go has no sub-packages When you want to split your packages to organize your BIG package, you may make some of the internals of your package visible to the outside world, and so, anyone can import them. You may not want this. Internal package convention

  • golang之命令行参数2022-04-02 17:02:59

    当我们希望通过命令行启动Golang程序,获取输入的各种形式参数时,该如何处理呢?   [os.Args] os.Args是一个string的切片,用来存储所有的命令行参数,包括go run main.go这部分,整体编译后实际是生成和运行的main.exe文件,所以第一个参数是main.exe。示例如下: func main() { for i ,v

  • Golang bufio.Scanner 介绍2022-04-01 14:31:58

    目录1. 接收标准输入2. 接收文件内容3. 示例 Scanner,用于处理数据读取的简单任务,支持按行、按单词等方式读取,一般用于一些简单的读取场景。注意:Scanner 默认是按行读取,可以调用 Split 方法修改读取方式。 1. 接收标准输入 scanner := bufio.NewScanner(os.stdin) for scanner.Sca

  • golang 基础笔记二2022-04-01 09:03:21

    网络编程   网络编程有两种: 1) TCP socket 编程,是网络编程的主流。之所以叫 Tcp socket 编程,是因为底层是基于 Tcp/ip 协 议的. 比如: QQ 聊天 [示意图] 2) b/s 结构的 http 编程,我们使用浏览器去访问服务器时,使用的就是 http 协议,而 http 底层依 旧是用 tcp socket 实现的。比

  • golang中new和make的区别2022-03-31 15:02:06

    1、new new 的作用是初始化一个指向类型的指针(*T) new函数是内建函数,函数定义:func new(Type) *Type 使用new函数来分配空间。传递给new 函数的是一个类型,不是一个值。返回值是 指向这个新分配的零值的指针。 2、make make 的作用是为 slice,map 或 chan 初始化并返回引用(T)。 mak

  • golang中 map并发不安全及解决方法2022-03-31 14:32:14

    相关面试题 map的底层实现原理 为什么遍历map是无序的? 如何实现有序遍历map? 为什么Go map是非线程安全的? 线程安全的map如何实现? Go sync.map 和原生 map 谁的性能好,为什么? 为什么 Go map 的负载因子是 6.5? map扩容策略是什么? 1、map默认是并发不安全的,原因如下:   Go 官方

  • golang https server客户端不进行验证2022-03-30 01:02:21

    x509 相关的错误返回,说客户段程序还是验证了服务器的 `import ( "crypto/tls" "fmt" "io/ioutil" "net/http" ) func main() { tr := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, } client := &http.Client

  • Golang 泛型的简单使用2022-03-29 19:33:18

    前情提要 美国时间2022年3月15日,Go核心团队官宣了Go 1.18版本正式版的发布,其官博称之为“整个Go社区的一个巨大的里程碑”。在这个版本中,Go核心团队做了Go语言开源以来的最大一次语法特性变更——增加了对泛型(generics)的支持。 动手尝试 升级go 1.18 前往官网下载最新版本 Downl

  • Golang中常用的代码优化点2022-03-29 10:04:16

    Golang中常用的代码优化点 大家好,我是轩脉刃。 这篇想和大家聊一聊golang的常用代码写法。在golang中,如果大家不断在一线写代码,一定多多少少会有一些些代码的套路和经验。这些经验是代表你对一些问题,或者一类问题的思考和解决。处理一个问题的方法有很多,如果频繁遇到同样的场景和

  • golang https 访问2022-03-28 22:31:50

    package main import ( "crypto/tls" "fmt" "io/ioutil" "net/http" ) func main() { tr := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, } client

  • golang import2022-03-28 14:31:19

    一 包的导入语法 在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下: import( "fmt" ) 然后在代码里面可以通过如下的方式调用 fmt.Println("hello world") 上面这个fmt是Go语言的标准库,他其实是去GOROOT下去加载该模

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

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

ICode9版权所有