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

使用Tag实现生成SQL执行方法。数据映射

这几天研究了一下golang的Tag,发现是个好东西;于是就用它做了一个自己用的数据映射SQL的逻辑。现在分享出来给大家。先上核心逻辑 //生成更新SQL func MarshalUpSql(v interface{}, tablename string) (sql string) { result := util.NewStringBuilder() result.Append("INSERT INTO ") result.Append(tablename) result.Append("(") t := reflect.TypeOf(v) farr := t.Elem() tmp := util.NewStringBuilder() vtmp := util.NewStringBuild...阅读全文

博文 2019-08-20 11:49:46 buguang01

史上最全的大厂Mysql面试题在这里!

1、MySQL的复制原理以及流程基本原理流程,3个线程以及之间的关联;主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;从:sql执行线程——执行relay log中的语句;2、MySQL中myisam与innodb的区别,至少5点(1)、问5点不同;1>.InnoDB支持事物,而MyISAM不支持事物2>.InnoDB支持行级锁,而MyISAM支持表级锁3>.InnoDB支持MVCC, 而MyISAM不支持4>.InnoDB支持外键,而MyISAM不支持5>.InnoDB不支持全文索引,而MyISAM支持。(2)、i...阅读全文

博文 2019-03-25 17:21:58 a1127889067

go语言基础

go语言是自己刚接触的。记一下经常用到的东西 1、创建一个新项目时候 ,在该目录下(D:\devtools\go\src),创建hello.go 文件。在go语言中文件以 .go命名。 2、运行代码结果时,(本人用的是sublime text3)用Ctrl+B快捷键 ,然后输入 go run hello.go 回车,得到运行结果。 3、go语言基本语法 每个go程序都是由包组成的。 程序运行的入口是包 main package main 这个程序使用并导入包 “fmt“ 和 “math/rand“ import ( "fmt" "math/rand" ) func main() { fmt.Printf("Now you have %g problems.", math.Sqrt(7)) /...阅读全文

博文 2017-08-24 06:31:07 sunny1660

【Java核心设计模式】DAO开发实战业务分析

课程介绍 本课程是由Java SE向Java WEB学习的过渡课程,为了更好的巩固Java SE中所学习到的各项技术,同时也为了更完整的阐述Java在整个项目开发中的核心意义,所以讲解了综合的DAO设计模式。 在学习本课程之前请确保已经学习了:《Oracle从入门到精通》、《Java8编程入门》、《Java8面向对象编程》、《Java8高级编程》几门课程,并且已经熟练的掌握了接口、类集、JDBC等技术的使用。 课时列表 • 课时1:软件分层设计 • 课时2:设计分析实例 • 课时3:程序开发准备(定义数据库连接类) • 课时4:程序开发准备(定义VO类) • 课时5:数据层设计与开发(定义数据层标准) • 课时6:数据层设计与开发(数据层...阅读全文

Golang:一步一步走向Go 2(继包管理之后,Go将实现try,泛型也在考虑之列)

文:blog.golang.org/go2-next-st… 现状 不出意外的话,我们将会在2019年8月发布Go 1.13版本。这是第一次对Go语言进行很实在的改变(而不是规范性的微调),这些改变很早以前就提出来,但是一直拖延着。 为了实现语言的改变,我们遵照“Go 2, here we come!” 文档中的评估流程,先从 Go 2 proposals (Go 2提案列表) 中挑选了一小部分可行的提案。 我们希望我们最初挑选的提案相对较小,并且几乎没有争议,以便于更大可能性去完成这些变更。这些“变更”的提案必须向后兼容才能最小化对模块的破坏性,这些模块允许指定Go语言版本,而不是默认构建方式。简而言之,作为第一轮的变革,主要还是为了迭代积累经验,而不是为了解决重大问题。 在原始提案列表中...阅读全文

博文 2019-07-08 16:34:23 ZetaChow晓代码

【GO学习二】包,函数,常量和变量

主要介绍go语言的基本元素,包引入,变量,函数声明 引入包: go语言通过import引入包最佳实践:import顺序:系统package,第三方package,程序自己的package package main import ( "fmt" "math" ) func main() { fmt.Printf("math test number %g ",math.Sqrt(7)) } # 运行输出 cuixiaozhuai:main cuixiaohuan$ ./hello math test number 2.6457513110645907 函数定义 go中函数可以没有参数或者接受多个参数 基本格式 func xx(AA type,aa) Type { } package main i...阅读全文

博文 2017-10-12 13:34:48 崔小拽

与BSN的链码进行通信互动

在上一节完成链码部署后,就可以与链码进行通信互动了。互动有多种方式,如通过SDK编程,也可以使用peer节点使用命令行操作完成。本节先使用后者实现预置链码包介绍通过区块链服务网络开发者手册可知,BSN提供的预置链码包提供了五个方法,我们逐一来操作处理1、增加数据(set)输入参数说明baseKey:需要保存的唯一的主键标识baseValue:保存的数据信息` 例:{"baseKey":"str","baseValue":"this is string"}` 其中 baseKey 是不能为空的字符串,baseValue 可以是任意类型的数据。如果 baseKey 已经存在,则直接返回已经存在,不能添加;如果不存在,则添加数据。2、获取数据(get)输入参数说明baseKey:需要获取的唯一的主...阅读全文

博文 2020-05-27 19:32:45 凡星_

golang刷LeetCode[0004] 寻找两个有序数组的中位数

题目 https://github.com/betterfor/leetcode-go/tree/master/algorithms/0004_Median_Of_Two_Sorted_Arrays 假定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m+n)) 。 你可以假定 nums1 和 nums2 不会同时为空。 示例1: nums1 = [1,3] nums2 = [2] 则中位数是 2.0 示例2: nums1 = [1,2] nums2 = [3,4] 则中位数 (2+3)/2=2.5 题解 1、暴力法 将两个数组合并,两个有序数组合并也是归并数组,然后根据奇偶数返回中位数。 func ...阅读全文

博文 2020-01-15 09:32:45 风云风雨

使用BSN开发区块链应用智能合约-golang篇

作者:曹国波 时跃堂智能合约又称链码(Chaincode),是用计算机语言描述合约条款、交易的条件、交易的业务逻辑等,通过调用智能合约实现交易的自动执行和对账本数据的操作。一个BSN应用可以部署多个链码,每个链码包含多个方法。链码支持多种语言编写,包括golang、java、node.js。每个链码程序都必须实现Chaincode接口,链码包含:Init ,Invoke ,Query三个基本操作:▶ Init :链码初始化的方法,在链码实例化或者升级的时候调用一次,以便链码可以执行任何必要的初始化,包括应用程序状态的初始化。▶ Invoke :接收和处理链下业务系统调用事务处理提案,其参数包含调用的链码程序中函数的名称和具体业务处理数据参数。即在Invoke中根据不同的方法参数调用其他分支处...阅读全文

博文 2020-01-17 01:32:52 区块链服务网络BSN

03GORM源码解读

简介 模型交互 AutoMigrate createTable callbacks 实际注册流程 createCallback 总结 简介 GORM 源码解读, 基于 v1.9.11 版本. 模型交互 前面已经研究过模型是如何定义并被解析的了, 这次看一下模型是如何和数据库交互的. package main import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/sqlite" ) type Product struct { gorm.Model Code string Price uint } func main() { db, err := gorm.Open("sqlite3", "test.db") i...阅读全文

博文 2020-01-14 18:32:40 帅气猫咪

数据一致性(二)

我们流连于事物的表象,满足浅尝辄止的片刻欢愉,却几乎从不久留。我们在人生的道路上争先恐后,却吝于用片刻思考目标和方向。 概述 至今没有接触过MySQL多主的情况,即存在多个MySQL实例同时负责读写请求(抛弃只读库)。思考后认为:没有这么实现的技术难点在于:数据的一致性得不到保证。此外,还会涉及: MySQL采用自增主键索引的话,多主之间的数据同步简直是灾难。 内部锁机制的优势大打折扣,跨主库间的锁应该也是灾难级别的吧。 那么支持分布式的其他数据库又是怎么搞定这个问题的呢?比如Cassandra,多个节点之间可以同时处理读写请求,那么它是如何处理节点间数据同步以保证一致性的呢? MySQL数据的一致性 We think this is an unacceptable burden to pl...阅读全文

博文 2019-03-17 15:34:38 neojos

从 Eclipse 到 IDEA,金字塔到太空堡垒

IDEA有什么好? 换到IDEA并渐渐适应之后,用一个词形容这款IDE,就是:现代。 再看Eclipse,如同埃及金字塔,精巧但粗粝、宏伟但迟钝。而IDEA如同太空堡垒,精致大气、舒适内敛。 因为我对IDEA非常有好感,决定向你推销一下。让我们先来看看他那些让人不可自拨的功能吧: 插件安装 在Eclipse上安装一款插件,要到marketplace中搜索,点击install。因为跨国网络访问,所以一般下载插件会很慢。 在IDEA上安装插件,逻辑相似,Ctrl+Alt+S呼出Settings,找到Plugins进行搜索,如果没有找到会跳转到远程仓库,然后install即可。 不过对于有些插件来说,IDEA上的安装流程比Eclipse顺畅了不止一个级别,比如大家常用的lombok,Eclipse...阅读全文

博文 2019-01-13 16:34:39 凯睿看世界

Golang:一步一步走向Go 2(继包管理之后,Go将实现try,泛型也在考虑之列)

文:https://blog.golang.org/go2-n... 现状 不出意外的话,我们将会在2019年8月发布Go 1.13版本。这是第一次对Go语言进行很实在的改变(而不是规范性的微调),这些改变很早以前就提出来,但是一直拖延着。 为了实现语言的改变,我们遵照“Go 2, here we come!”文档中的评估流程,先从 Go 2 proposals(Go 2提案列表) 中挑选了一小部分可行的提案。 我们希望我们最初挑选的提案相对较小,并且几乎没有争议,以便于更大可能性去完成这些变更。这些“变更”的提案必须向后兼容才能最小化对模块的破坏性,这些模块允许指定Go语言版本,而不是默认构建方式。简而言之,作为第一轮的变革,主要还是为了迭代积累经验,而不是为了解决重大问题。 在原始提案列...阅读全文

博文 2019-07-08 16:32:42 ZetaChow晓代码

MaxCompute访问TableStore(OTS) 数据

摘要: MaxCompute作为阿里云大数据平台的核心计算组件,承担了集团内外大部分的分布式计算需求。 免费开通大数据服务:https://www.aliyun.com/product/odps **前言** MaxCompute作为阿里云大数据平台的核心计算组件,承担了集团内外大部分的分布式计算需求。而MaxCompute SQL作为分布式数据处理的主要入口,为快速方便处理/存储EB级别的离线数据提供了强有力的支持。 随着大数据业务的不断扩展,新的数据使用场景在不断产生,在这样的背景下,MaxCompute计算框架也在不断的演化,原来主要面对内部特殊格式数据的强大计算能力,也正在一步步的开放给不同的外部数据。 之前我们介绍了怎样[在MaxCompute上处理存储在OSS上...阅读全文

从 Eclipse 到 IDEA,金字塔到太空堡垒

IDEA有什么好?换到IDEA并渐渐适应之后,用一个词形容这款IDE,就是:现代。再看Eclipse,如同埃及金字塔,精巧但粗粝、宏伟但迟钝。而IDEA如同太空堡垒,精致大气、舒适内敛。因为我对IDEA非常有好感,决定向你推销一下。让我们先来看看他那些让人不可自拨的功能吧:插件安装在Eclipse上安装一款插件,要到marketplace中搜索,点击install。因为跨国网络访问,所以一般下载插件会很慢。在IDEA上安装插件,逻辑相似,Ctrl+Alt+S呼出Settings,找到Plugins进行搜索,如果没有找到会跳转到远程仓库,然后install即可。不过对于有些插件来说,IDEA上的安装流程比Eclipse顺畅了不止一个级别,比如大家常用的lombok,Eclipse上安装过程繁琐...阅读全文

博文 2019-05-05 18:34:57 Daphne_307d

vim 插件学习-参考https://github.com/yangyangwithgnu/use_vim_as_ide

4. 插件 主要是c++相关的. ~/.vimrc文件在GitHub上有:https://github.com/whuwzp/vim_config 以下内容参考: https://github.com/yangyangwithgnu/use_vim_as_ide 4.1 vundle插件管理器 git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 在 .vimrc 增加相关配置信息 " vundle 环境设置 filetype off set rtp+=~/.vim/bundle/Vundle.vim " vundle 管理的插件列表必须位于 vundle#begin() 和 vundle...阅读全文

博文 2020-03-02 01:32:47 笔默纸言

02GORM源码解读

简介 定义模型 ModelStruct 获取表名 StructField Relationship 更多 Scope 模型解析 字段解析 小结 总结 简介 GORM 源码解读, 基于 v1.9.11 版本. 定义模型 GORM 是 ORM, 所以模型定义是最重要的部分, 这一次来探究下具体实现. type User struct { gorm.Model Name string Age sql.NullInt64 Birthday *time.Time Email string `gorm:"type:varchar(100);unique_index"` Role string `gorm:"size:255"` // 设置字段大小为255 MemberNumber *string `go...阅读全文

博文 2019-12-29 10:32:39 帅气猫咪

Golang MSC 约定

分层结构 Model (模型) 可以包含少量方法; 不引用外部资源; 功能: 数据传输; 持久话; 校验信息; json、xml转换格式定义; 如无必要,转换json、xml格式时无需改变字段大小写,减少无谓的工作量; Service (服务) 提供被多方使用的公共方法; 名称以Service结尾; 会被多个Ctrl或Service调用; 可创建、输入、输出Model; 可调用其他Service; 不可调用Ctrl; 主要的单元测试对象,覆盖率要足够高; 提供一个New方法创建服务,方法的参数是需要引用的其他服务; Ctrl (控制器) 对外提供交互服务; 名称以Ctrl结尾; 包含一个路由方法(Party),说明RESTful调用名称、路径、模式参数等; Ctrl不能被Model和Serv...阅读全文

博文 2019-08-29 11:32:53 安德徐

ARTS 第21周

ARTS 第21周分享 [TOC] Algorithm 242. Valid Anagram [easy] [题目描述] Given two strings s and t , write a function to determine if t is an anagram of s. Example 1: Input: s = "anagram", t = "nagaram" Output: true Way One: [解题思路] 将字符串按照每个字符的值的大小排序, 比较两个byte slice 是否相等 [参考代码] type myBytes []byte func (my myBytes) Len() int { return len(my) } func (my myBytes)...阅读全文

博文 2019-08-25 17:32:55 陈卧虫

C++服务端面试准备(2)MySQL相关

声明:本文内容纯属博主自己查找和归纳的个人所需的知识点,仅作参考,如有错误,博主强烈希望您指出。如果您是某个知识点的原创博主,如有需要,可联系本人加上链接。本文内容会根据博主所需进行更新,希望大家多多关照。 MySQL底层数据结构 B+树 存储引擎之二:InnoDB与Myisam InnoDB Myisam 事务 支持 不支持 外键 支持 不支持 锁 表锁、行锁 表锁 总行数 需要扫描整个表 直接读取 文件 .idb数据文件和它的.frm文件,表的大小只受限于操作系统文件的大小,一般为 2GB .frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。 使用环境 都符合要求的情况下,改动多的时候 都符合要求的情况下,查找多的时候 自...阅读全文

博文 2020-04-07 18:32:47 DX3906