Go语言中文网 为您找到相关结果 27

golang 数组中插入数组

package main import ( "fmt" ) func main() { s := []interface{}{1, 2, 3, 4, 5, 6, 7, 8} HERE: for k, v := range s { if v == 4 || v == 6 || v == 7 { // temp := s[k+1:] fmt.Println("k", k) temp := make([]interface{}, 0) for _, v := range s[k+1:] { temp = append(temp, v) } fmt.Println("temp1", temp) s = append(s[:k], "(") fmt.Println(s) s = append(s, [...阅读全文

博文 2018-06-22 10:34:46 不浪人

Go语言使用Beego的ORM插入Mysql后,时区不一致的解决方案

一、解决方案: 方案一: orm.Debug = false orm.DefaultTimeLoc = time.UTC orm.RegisterDriver("mysql", orm.DRMySQL) orm.RegisterDataBase("default", "mysql", "root:LPET6Plus@tcp(127.0.0.1:18283)/lpet6plusdb?charset=utf8&loc=Local") orm.RegisterModel(new(Versions)) orm.RegisterModel(new(Regversions)) orm.RegisterModel(new(Osversions)) 方案二: func init() { var dataso...阅读全文

博文 2016-04-10 09:05:09 songxingzhu

Go语言中append函数的强大功能

Go语言中append的功能十分强大,使用它可以使很多功能的实现变得更加简洁。以下为简单对比: .将一个slice插入到另一个slice的指定位置: 不使用append: func insertSliceAtIndex(slice_origin []int, slice_to_insert []int, insertIndex int) (result []int, err error) { if insertIndex > len(slice_origin) { return nil, errors.New("insertIndex不能大于slice_origin的长度") } result = make([]int, len(slice_origin)+len(slice_to_inse...阅读全文

博文 2015-06-17 23:01:37 books1958

golang mysql 字符串插入错误

Incorrect string value: '\xEF\xBF\xBD\xEF\xBF\xBD...' 报这个错,基本是编码问题,检查一下表的编码 show create table table_name; 比如问题就出在字符集 | gosignal | CREATE TABLE `gosignal` ( `id` int(11) DEFAULT NULL, `time` varchar(30) DEFAULT NULL, `IMSI` varchar(25) DEFAULT NULL, `IMEI` varchar(25) DEFAULT NULL, `duration` int(11) DEFAULT NULL, `startLAC` varchar(10) DEFAULT NULL...阅读全文

博文 2014-10-04 19:26:12 ggaaooppeennngg

Golang的slice为何一定要len和cap二者

问题 始终觉得slice的定义只需要len即可,cap有什么好处呢? 答案 cap主要是为了让slice提供可变长度。 试想,如果没有cap,只有len。 sliceA长度为10,len=10,已经插满元素;现在要插入第十一个元素。 做法 sliceA的长度扩展为20,len=20,此时有用元素为11个,还有9个空位。 sliceA对外界暴露出来的接口只有ptr和len=20,此时如果需要再插入一个元素。 到底sliceA应该扩展呢还是可以继续在原来的基础直接插入呢,同时应该从哪个index插入呢? 这些问题在有了len和cap的组合之后就可以迎刃而解了...阅读全文

博文 2018-09-14 23:34:39 空即是色即是色即是空

go 用slice模拟vector功能

appendVector a = append(a, b...) copy b = append([]T(nil), a...) b = make([]T, len(a)) copy(b, a) cut删除一段范围i~j copy(a[i:], a[j:]) for k, n := len(a) - j + i, len(a); k < n; k++ { a[k] = nil //or the zero value of T } a = a[:len(a) - j + i] delete删除指定i copy(a[i:], a[i+1:] a[len(a] - 1] = nil //or zero value of T a = a[:len(a)-1] expand 在i位置扩展j个位置出来 ...阅读全文

博文 2017-02-16 15:00:12 sydnash

插入数据库操作测试 1分钟一百万条数据 这数据怎么样?

刚学些go ,做了一个插入数据库操作的测试 个人笔记本电脑配置: lenovo e540 ,i5 ,8g内存 本地数据库,my数据库,四个字段,id自增, ip, port ,comment, 如下面数据 6468364 192.168.170.107 500000 test 1000000 条数据 10000条批量插入 ,10个线程 67101毫秒 1分钟 1000000 条数据 10000条批量插入 ,100个线程 617423毫秒 10.29 分钟 平均下来,1分钟可以插入 一百万条数据, 用一千万条数据做测试的时候 ,cpu 四核全部跑满,,网络到50M/秒 这个数据是不是说明 go 很强...阅读全文

golang binarySearch

1 func binarySearch(nodes []*node, word Text) (int, bool) { 2 start := 0 3 end := len(nodes) - 1 4 5 // 特例: 6 if len(nodes) == 0 { 7 // 当slice为空时,插入第一位置 8 return 0, false 9 } 10 compareWithFirstWord := bytes.Compare(word, nodes[0].word) 11 if compareWithFirstWord < 0 { 12 // 当要查找的元素小于首元素时,插入第一位置 13 return 0, false 14 } else if compareWithFirstWord ...阅读全文

博文 2015-03-28 03:00:03 rojas

sql的问题,on duplicate key update的使用

想要实现的场景是:就是 insert的时候,如果有就更新,没有就插入 现在是这样做的: _, erru := db.Exec("insert into user values(?,?,?) on duplicate key update id = id+1", 这个是怎么判断重复的呢? 但是,同一个id,只能增加1,如果发三个同样的请求,就会报错, 知道了,update后面,要添加要更新的项...阅读全文

算法代码实现之插入排序,Golang(Go语言)实现

封装成函数: //插入排序func InsertionSort(s []int) { n := len(s) if n < 2 { return } for i := 1; i < n; i++ { for j := i; j > 0 && s[j] < s[j - 1]; j-- { swap(s, j, j - 1) } }} func swap(slice []int, i int, j int) { slice[i], slice[j] = slice[j], slice[i]} 测试: s := []int{9,0,6,5,8,2,1,7,4,3}fmt.Println(s)InsertionSort(s)fmt.Println(s) 输出: [9 0 6 5 8 2 1 7 4 ...阅读全文

博文 2016-02-28 16:00:00 QQ245671051

Golang之排序算法

冒泡排序 package main //冒泡排序 import "fmt" func bsort(a []int) { for i := 0; i < len(a); i++ { for j := 1; j < len(a)-i; j++ { if a[j] < a[j-1] { a[j], a[j-1] = a[j-1], a[j] } } } } func main() { b := [...]int{8, 7, 5, 4, 3, 10, 15} bsort(b[:]) fmt.Println(b) } 选择排序 package main import "fmt" //冒泡排序 func ssort(a []int) { for i := 0; i < len(a); i++ { var...阅读全文

博文 2018-01-10 16:30:03 pyyu

go-insert-sort

``` package main import ( "fmt" ) func main() { fmt.Println("insert sort") var a = []int{6, 5, 3, 1, 8, 7, 2, 4} fmt.Println(a) InsertSort(a) } func InsertSort(a []int) { var j int for i := 1; i < len(a); i++ { for j = i; j > 0 && a[j-1] > a[j]; j-- { a[j], a[j-1] = a[j-1], a[j] } fmt.Println(a) } } ``` 插入排...阅读全文

博文 2018-01-03 18:22:35 freedbg

插入排序 (golang)

package main import ( "fmt" ) func InsertionSort(array [6]int, n int) { var i, j int var tmp int for i = 1; i < n; i++ { tmp = array[i] for j = i; j > 0 && array[j-1] > tmp; j-- { array[j] = array[j-1] } array[j] = tmp } fmt.Println(array) } func main() { a := [...]int{34, 8, 64, 51, 32, 21} fmt.Println(a) num := len(a) InsertionSort(a, num) ...阅读全文

博文 2015-12-23 04:00:01 wz6586261

SQL数据库为BIGINT时,插入数据库出错type: unsupported type big.Int

rows,err := app.PLADB.Query("SELECT TOP 1 convert(bigint,ID) AS [FSourceInterID] FROM History") if err != nil { return } defer rows.Close() var s interface{} for rows.Next() { err = rows.Scan(&s) if err != nil { panic(err) } fmt.Printf("x is of type %T\n", s) fmt.Println(s) } log.Println(app.PLADB.Query("inse...阅读全文

golang实现插入排序

package main import "fmt" // InsertSort 是用来排序一个整型的数组 // 算法设计的思路是,将数组划分成两部分,第一部分是有序的,第二部分是无序的 // 每次从无序部分取一个元素,将这个元素插入到有序部分,保持有序部分的有序性质 // 直到无序部分为空 func InsertSort(arr []int, L int) { for i := 1; i < L; i++ { vi := arr[i] j := i for ; j > 0 && arr[j-1] >= vi; j-- { arr[j] = arr[j-1] } arr[j] = vi } } func main() { arr := []int{9, 4, 6, 7, 5, 8, 3, 2,...阅读全文

博文 2019-03-23 14:34:41 IT孤独者

Go语言技巧 · Zablog

一句话技巧 把你面向对象的大脑扔到家里吧,去拥抱接口。@mikegehard 学习如何使用Go的方式做事,不要把别的的编程风格强行用在Go里面。@DrNic 多用接口总比少用好。@evanphx 拥抱这种简洁、并行、工整的语言。@francesc 阅读官网golang.org上所有的文档,真是棒呆了。@vbatts 别忘了用gofmt。@darkhelmetlive 多读源代码。@DrNic 学习工具和组件,然后创造你自己的!码代码和学代码一样对成功必不可少。@coreyprak 学而不思则罔,思而不学则殆。《论语》 引入package的多种方式有几种非常规方式来引入包(package)。接下来我会使用fmt来作为例子: import format "fmt" - 为fmt创造一个别名。把代...阅读全文

博文 2017-09-02 10:59:59 zablog.me

求助呀!! mongo 怎么从外部插入数据呢

求助呀!! mongo 怎么从外部插入数据呢, 我写好了插入操作 怎么进行测试操作呢 怎么把测试内容插入到集合内 ![image.png](https://static.studygolang.com/180915/1342b21283355b10b39fd4566f4174a8.png) ![image.png](https://static.studygolang.com/180915/67026850d0308c7944cd627b2c2226a2.png) ![image.png](https://static.studygolang.com/180915/eda1924cee087154fef7be5c193048f4.png...阅读全文

博文 2018-09-15 10:49:33 261809340

生成排列的算法汇总

概述 我觉得自己的算法思维能力有些薄弱,所以基本上每天晚上都会抽空做1-2到 leetcode 算法题。这两天遇到一个排列的问题——Next Permutation。然后我去搜索了一下生成排列的算法。这里做一下总结。 算法 目前,生成一个序列的排列常用的有以下几种算法: 暴力法(Brute Force) 插入法(Insert) 字典法(Lexicographic) SJT算法(Steinhaus-Johnson-Trotter) 堆算法(Heap) 下面依次介绍算法的内容,实现和优缺点。 在介绍这些算法之前,我们先做一些示例和代码上的约定: 我的代码实现是使用 Go 语言,且仅实现了求int切片的所有排列,其它类型自行扩展也不难。 除非特殊说明,我假定输入的int中无重复元素,有重复元素可自...阅读全文

博文 2019-10-16 22:02:48 孤雨