https://i6448038.github.io/2017/07/28/GolangDetails/new(type)不为nilfmt.Println(new(int)==nil)#falsevari*intfmt.Println(i==nil)#true一个包里可以有多个init函数,多个init函数的调用顺序https://golang.org/ref/spec#Program_initi
原创 2018-08-15 10:51:19
2981阅读
Golang 内存溢出 GC回收时,无法实现100%的回收 有goroutine泄漏,zombie goroutine没有结束,这个时候在这个goroutine上分配的内存对象将一直被这个僵尸goroutine引用着,进而导致gc无法回收这类对象,内存泄漏。 有生命周期和程序一样长的的数据结构意 ...
转载 2021-07-30 16:10:00
593阅读
2评论
1. Host 未生效使用http 发送post请求,服务端一直返回参数错误。reader := bytes.NewReader([]byte(postData))req, _ := http.NewRequest("POST", url, reader)// 设置头部信息req.Header.Set("Content-Type", "application/x-www-form...
原创 2022-12-15 14:05:35
127阅读
先举个栗子,全局作用域变量,与 := 符号声明赋值新变量 局部变量 在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。 以下实例中 main() 函数使用了局部变量 a, b, c: package main import "fmt" func main()
原创 2021-05-11 15:08:07
439阅读
在使用Golang编写Kubernetes(K8S)应用程序时,经常会涉及到执行系统命令的操作。而在使用golang的exec包执行系统命令时,可能会遇到一些。本文将详细介绍如何在Golang中执行系统命令,并避免常见的。 # Golang执行系统命令的流程 下面是使用Golang执行系统命令的一般流程,可以通过表格展示步骤: | 步骤 | 操作 | | --- | --- | | 1
原创 2024-05-07 11:36:07
440阅读
一、for循环 循环:让程序多次执行相同的代码块for循环是Go语言中唯一一个循环结构for循环经典语法先执行表达式1执行表达
原创 2024-08-14 15:14:28
75阅读
很多时候我们经过使用有缓冲channel作为通信控制的功能,以至有一些误解和出现。误解一:有缓存channel是顺序的执行下面代码。package mainimport (    "time"     "math/rand")func main(){    
原创 精选 2017-09-18 16:27:48
7575阅读
2点赞
golang中的slice有一个很多人都知道的“”: package main func main() { //初始化两个slice s1 := make([]int, 3, 4) s2 := s1[: 2] s2[0] ++ println(s1[0] == s2[0]) //true......
转载 2023-11-14 09:28:10
97阅读
Golang单元测试盘点最近在公司写单元测试,发现了不少。例如:monkey不支持inline函数,vscode单测有缓存,convey对切片、map等比较不可以直接使用类似于==进行...
转载 2021-08-03 09:16:50
738阅读
目录 [−] 初级 开大括号不能放在单独的一行 未使用的变量 未使用的Imports 简式的变量声明仅可以在函数内部使用 使
翻译 2023-08-31 16:43:12
0阅读
最近写Golang的是发现一个fallthrough与switch的:switch value.(type) {     case int:         fallthrough     case&nbsp
原创 2017-06-06 16:08:19
2638阅读
golang本身没有提供连接mysql的驱动,但是定义了标准接口供第三方开发驱动。这里连接mysql可以使用第三方库,第三方库推荐使用https://github.com/Go-SQL-Driver/MySQL这个驱动,更新维护都比较好。下面演示下具体的使用,完整代码示例可以参考最后。下载驱动sudo go get github.com/go-sql-driver/mysql数据库连接db, er
转载 2023-07-14 16:41:27
185阅读
数据库的事务对数据并行访问的时候,有可能会出现一些问题,因此数据库设置了四个不同的隔离级别来解决问题。在 MySQL 数据库的隔离级别可以分为四层,分别是读未提交、读提交、可重复读和串行化。与之对应出现的问题有脏读、幻读、不可重复读。隔离级别读未提交(read uncommited)一个事务还未提交时,它做的变更就能被其他的事务看到。读提交(read commited)一个事务提交之后,它做的变更
golang数据类型和mysql数据类型的对应    Golang 提供了database/sql包用于对SQL数据库的访问, 作为操作数据库的入口对象sql.DB, 主要为我们提供了两个重要的功能:sql.DB 通过数据库驱动为我们提供管理底层数据库连接的打开和关闭操作.sql.DB 为我们管理数据库连接池需要注意的是,sql.DB表示操作数据库的抽象访问
转载 2023-06-30 19:05:19
154阅读
前言Golang 提供了database/sql包用于对SQL数据库的访问, 作为操作数据库的入口对象sql.DB, 主要为我们提供了两个重要的功能:sql.DB 通过数据库驱动为我们提供管理底层数据库连接的打开和关闭操作.sql.DB 为我们管理数据库连接池需要注意的是,sql.DB表示操作数据库的抽象访问接口,而非一个数据库连接对象;它可以根据driver打开关闭数据库连接,管理连接池。正在使
转载 2023-07-14 17:46:37
19阅读
golang操作mysql首先安装mysql安装完成后,为了能够使得golang使用mysql 我们需要导入一个包,这个包可以在golang.org官网中找到,具体链接为https://pkg.go.dev/github.com/go-sql-driver/mysql#section-readme包的指令为$ go get -u github.com/go-sql-driver/mysql 当我们
转载 2023-09-19 04:01:43
74阅读
golang操作mysql使用总结 前言Golang 提供了database/sql包用于对SQL数据库的访问, 作为操作数据库的入口对象sql.DB, 主要为我们提供了两个重要的功能:sql.DB 通过数据库驱动为我们提供管理底层数据库连接的打开和关闭操作.sql.DB 为我们管理数据库连接池需要注意的是,sql.DB表示操作数据库的抽象访问接口,而非一个数据库连接对象;它可以根据drive
转载 2024-06-12 21:06:07
27阅读
在最近项目开发中遇到一个问题,情况是这样的,第一天数据库操作完全正常的,第二天早上来,就报错invalid connection。 明明第一天都是正常的,第二天来就报错了,这个问题比较尴尬。于是上网搜索后,了解到,原来mysql 连接有超时机制。如下: interactive_timeout=28800 wait_timeout=28800 默认情况下是28800(8小时) 简单解释一下,就是
golang并发编程 - 例子解析February 26, 2013最近在看《Programming in Go》, 其中关于并发编程写得很不错, 受益非浅, 其中有一些例子是需要多思考才能想明白的, 所以我打算记录下来, 强化一下思路《Programming in Go》在 Chapter 7. Concurrent Programming 里面一共用3个例子来讲述并发编程的
json格式可以算我们日常最常用的序列化格式之一了,Go语言作为一个由Google开发,号称互联网的C语言的语言,自然也对JSON格式支持很好。下面这篇文章主要给大家详细分析介绍了golang json性能的相关资料,需要的朋友可以参考下。前言众所周知Json 作为一种重要的数据格式,具有良好的可读性以及自描述性,广泛地应用在各种数据传输场景中。Go 语言里面原生支持了这种数据格式的序列化以及反序
  • 1
  • 2
  • 3
  • 4
  • 5