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

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-homedir

go-homedir是一个用于获取用户主目录的微型第三方库,代码不超过200行。源码地址:go-homedir 为什么不用os/user库? golang标准库包含的os/user库可以获取用户的主目录,代码如下: package main import ( "fmt" "os/user" ) func main() { u, _ := user.Current() fmt.Println(u.HomeDir) } github上的解释如下:The built-in os/user package requires cgo on Darwin systems. This means that any Go code that uses that package cannot cross co...阅读全文

博文 2020-05-29 11:33:04 风铃草613

【golang】快速构建项目,带你坐上小摩托

开局一波图: 所谓万事开头难,要启动一个项目,第一步就是设计好项目结构,大多通用项目结构都有相似型,本出楼主归纳好项目结构,直接带你坐上小摩的。 滴滴滴滴 项目结构 1、入口包 2、预处理包 3、服务包 4、bus 5、应用包 6、通用包 7、日志包 8、工具...阅读全文

博文 2020-04-18 17:32:55 dongzaidong

【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 凡星_

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

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

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

Golang的WaitGroup陷阱

sync.WaitGroup是并发环境中,一个相当常用的数据结构,用来等待所有协程的结束,在写代码的时候都是按着例子的样子写的,也没用深究过它的使用。前几日想着能不能在协程中执行Add()函数,答案是不能,这里介绍下。 陷阱在WaitGroup的3个函数的调用顺序上。先回顾下3个函数的功能: Add(delta int):给计数器增加delta,比如启动1个协程就增加1。 Done():协程退出前执行,把计数器减1。 Wait():阻塞等待计数器为0。 考一考 下面的程序是创建了协程father,然后father协程创建了10个子协程,main函数等待所有协程结束后退出,看看下面代码有没有什么问题? package main import ( "fmt" "sync" ) func fath...阅读全文

博文 2018-10-29 15:35:10 shitaibin

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 凯睿看世界

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 帅气猫咪

Mac下配置Go开发环境

Go(又称 Golang)是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go 的语法接近 C 语言,可以进行网络编程、系统编程、并发编程、分布式编程。 下面演示如何在 Mac 电脑上搭建 Go 语言开发环境。 1,安装 Golang 的 SDK 在官网下载对应的开发工具GoLand,地址如下:https://golang.org/dl/ 2,配置环境变量 (1)在终端执行如下命令进入用户主目录: cd ~ (2)执行如下命令打开 .bash_profile 文件: vim .bash_profile (3)按下 i 进入编辑模式,在文件末尾添加如下内容(GOPATH地址是自己创建项目的地址,比如我的是在桌面的文件夹下创建的): export GOPAT...阅读全文

博文 2020-05-26 17:36:21 ShineYangGod

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 陈卧虫

Go入门系列(八)包

目录: 一、官方包 二、第三方包 三、自定义包 概念 Go语言是使用包来组织源代码的,包(package)是多个 Go 源码的集合。 任何源代码文件必须属于某个包,同时源码文件的第一行有效代码必须是package pacakgeName 语句,通过该语句声明自己所在的包。 一、官方包 官方包,即在你安装go环境时,它已经存在于你的GOPATH/src目录下了。 在这个目录下完美可以看到很多眼熟的文件夹,均为我们前几个章节接触过的,这里简单介绍部分常用内置包,希望对Go语言可实现的基本功能形成一个基本认识: 1) fmt fmt 包实现了格式化的标准输入输出,这与C语言中的 printf 和 scanf 类似。其中的 fmt.Printf() 和 fmt.Println() 是开发者使用最为频...阅读全文

博文 2020-03-17 23:32:48 RabbitMask

Go 每日一库之 go-homedir

简介 今天我们来看一个很小,很实用的库go-homedir。顾名思义,go-homedir用来获取用户的主目录。 实际上,使用标准库os/user我们也可以得到这个信息: package main import ( "fmt" "log" "os/user" ) func main() { u, err := user.Current() if err != nil { log.Fatal(err) } fmt.Println("Home dir:", u.HomeDir) } 复制代码那么为什么还要go-homedir库? 在 Darwin 系统上,标准库os/user的使用需要 cgo。所以,任何使用os/user的代码都不能交叉编译。 但是,大多数人使用os/user的目的仅仅只是想获...阅读全文

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

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

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