前言: 今天用for range写了个demo,发现无论怎么运行,最后的结果是一直是最后一个。自己思考过后,又和其他伙伴商量了下,最终算是解决了自己的疑惑。 正文: 下面我们来看个例子: m := make(map[int]*int) arr := []int{1, 2, 3, 4, 5} for i, v := range arr { m[i] = &v } for k, v := range m { fmt.Println("k-->v", k, *v) } 大家思考下最后…
前言: 今天用for range写了个demo,发现无论怎么运行,最后的结果是一直是最后一个。自己思考过后,又和其他伙伴商量了下,最终算是解决了自己的疑惑。 正文: 下面我们来看个例子: m := make(map[int]*int) arr := []int{1, 2, 3, 4, 5} for i, v := range arr { m[i] = &v } for k, v := range m { fmt.Println("k-->v", k, *v) } 大家思考下最后…
视频链接(p1~p8): golang入门到项目实战 [2022最新Go语言教程,没有废话,纯干货!] 参考链接: 用vscode开发go的时候,安装go包报错:connectex: A connection attempt failed because the connected party did not 一、安装与熟悉工具 视频一开始讲go语言有什么特点之类的,完全不用管,刚开始学也记不了这些。 语言环境安装 下载官网 安装到自己喜欢的位置,接着设置环境变量:安装的位置/bin,我是在D:/Go/ 到高级属性…
原文链接:https://www.zhoubotong.site/post/51.html 什么是接口型函数?顾名思义接口函数指的是用函数实现接口,这样在调用的时候就会非常简便,这种方式适用于只有一个函数的接口。 这里以迭代一个map为例,演示这一实现的技巧。 常规接口实现 defer语句用于延迟函数调用,每次会把一个函数压入栈中,函数返回前再把延迟的函数取出并执行。延迟函数可以有参数: 延迟函数的参数在defer语句出现时就已确定下来(传值的就是当前值); 延迟函数执行按后进先出顺序执行; 延迟函数可操作主函数的…
目录 背景 使用 Docker Client 调用 GPU 依赖安装 安装 Docker 安装 NVIDIA Container Toolkit¶ --gpus 用法 使用 Docker Go SDK 为容器分配 GPU 使用 NVIDIA/go-nvml 获取 GPU 信息 使用 Docker Go SDK 为容器分配 GPU 扩展阅读:NVIDIA Multi-Instance GPU 背景 深度学习的环境配置通常是一项比较麻烦的工作,尤其是在多个用户共享的服务器上。虽然conda集成了virtualenv这样…
学习:SQL 语句到结构体的转换 | Go 语言编程之旅 (eddycjy.com) 目标:SQL表转换为Go语言结构体 可以在线体验这个过程:SQL生成GO语言结构体 - 支持批量处理 (tl.beer) MySQL数据库中的表结构,本质上是SQL语句。 CREATE TABLE `USER`( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'primary key', `ip_address` INT NOT NULL DEFAULT 0…
本文是龚国玮所写,熊哥有所新增修改删减,原文见文末。 我说我为什么抽不到SSR,原来是加权随机算法在作祟 阅读本文需要做好心理准备,建议带着深究到底的决心和毅力进行学习! 灵魂拷问 为什么有 50% 的几率获得金币? 为什么有 40% 的几率获得钻石? 为什么只有 9% 的几率获得装备? 为什么才有 1% 的几率获得极品装备? 是人性的扭曲,还是道德的沦丧,请和我一起走进今日说法 ! 介绍 元素被选中的机会并不相等,而是由相对“权重”(或概率)被选中的,是偏心的,这就是加权随机。 举个栗子,假如现在有一个权重数组 …
索引:https://www.waterflow.link/articles/1666884810643 当我们打印错误的时候使用锁可能会带来意想不到的结果。 我们看下面的例子: package main import ( "fmt" "sync" ) type Courseware struct { mutex sync.RWMutex Id int64 Code string Duration int } func (c *Courseware) UpdateDurati…
研发少闲月,九月人倍忙。又到了一年一度的“金九银十”秋招季,又到了写简历的时节,如果你还在用传统的Word文档寻找模板,然后默默耕耘,显然就有些落后于时代了,本次我们尝试使用云平台flowcv高效打造一份巧如范金、精比琢玉的高品质Golang技术简历。 首先来到云平台:flowcv.com 点击 try free 然后选择 Resume 点击创建新简历: 一份合格的技术简历大抵包含六大部分:个人信息(Information)、个人简介(Profile)、工作经历(Professional Experience)、学…
前言 做了几道关于defer的测试题,吓了一大跳,感觉自己之前的理解有些问题,所以写下这篇博客,加深下印象。 正文: 多个defer的执行顺序: 先进后出,类似于栈的特性。 下面我们来测试下: 1.defer 与 panic: func deferAndPanic() { defer func() { fmt.Println("defer1") }() defer func() { fmt.Println("defer2") }() defer fun…
原文链接:http://www.zhoubotong.site/post/50.html defer语句用于延迟函数调用,每次会把一个函数压入栈中,函数返回前再把延迟的函数取出并执行。延迟函数可以有参数: 延迟函数的参数在defer语句出现时就已确定下来(传值的就是当前值) return先赋值(对于命名返回值),然后执行defer,最后函数返回 延迟函数执行按后进先出顺序执行 延迟函数可操作主函数的变量名返回值(修改返回值) defer后面的表达式可以是func或者是method的调用,如果defer的函数为nil…