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

好程序员大数据入门学习之Hadoop技术优缺点

好程序员大数据入门学习之Hadoop技术优缺点(1)Hadoop具有按位存储和处理数据能力的高可靠性。(2)Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中,具有高扩展性。(3)Hadoop能够在节点之间进行动态地移动数据,并保证各个节点的动态平衡,处理速度非常快,具有高效性。(4)Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配,具有高容错性。Hadoop的缺点(1)Hadoop不适用于低延迟数据访问。(2)Hadoop不能高效存储大量小文件。(3)Hadoop不支持多用户写入并任意修改文件。Hadoop的核心组件Hadoop自诞生以来,主要出现了Hadoop1、Hadoop2、Hadoop3三个系列多个版本。H...阅读全文

Go中的接口之初体验

// code_21_struct_interface_firsttime project main.go package main import ( "fmt" ) /* 1)接口interface是一个自定义类型,接口类型具体描述了一系列方法的集合。 2)接口类型是一种抽象的类型,它不会暴露出它代表的对象的内部值的结构和这个对象支持的基础操作的结合, 他们只会展示出他们自己的方法。 因此接口类型不能将其实例化。 3)Go通过接口实现了鸭子类型(duck-typing) */ type Humaner interface { SayHi() //1)一般以er结尾 //2)接口只有方法声明,没有实现,没有数据字段 //3)接口可以匿名嵌入其他接口,或嵌入到结构中 } type Studen...阅读全文

Go语言简介及开发环境配置

一、Go语言简介及开发环境配置 1.Go Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。 Go 语言具有很强的表达能力,它简洁、清晰而高效。得益于其并发机制, 用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型系统则使程序结构变得灵活而模块化。 Go 代码编译成机器码不仅非常迅速,还具有方便的垃圾收集机制和强大的运行时反射机制。 它是一个快速的、静态类型的编译型语言,感觉却像动态类型的解释型语言。 特性: 自动垃圾回收 更丰富的内置类型 函数多返回值 错误处理 匿名函数和闭包 类型和接口 并发编程 反射 语言交互性 2.搭建Go开发环境 在https://golang.google.cn/doc/install?download=go1.11.1.darwin-...阅读全文

golang:基础数据类型

基础数据类型 整型 int,uint是根据CPU平台机器字大小决定取值范围。 & 位运算 AND | 位运算 OR ^ 位运算 XOR &^ 位清空 (AND NOT) << 左移 >> 右移 默认值 var a1 int //0 var a2 float64 //0 var a3 bool //false var a4 byte //0 var a5 rune //0 var a6 []int //[] var a7 []byte //[] var a8 map[int64]int64 //map[] var a9 string //空 var a10 complex64 //(0+0i) 溢出情况 一个算术运算的结果,不管是有符号或者是无符号的,如果需要更多的bit位才能正确表示的话,就...阅读全文

博文 2018-09-07 20:34:40 super大橙子

走进Golang之编译器原理

为了学好Golang底层知识装逼,折腾了一下编译器相关知识。下面的内容并不会提升你的生产技能点,但可以提高你的装逼指数。请按需阅读! 本文目录速览: 认识 go build 编译器原理 词法分析 语法分析 语义分析 中间码生成 代码优化 机器码生成 总结 认识 go build 当我们敲下 go build 的时候,我们的写的源码文件究竟经历了哪些事情?最终变成了可执行文件。 这个命令会编译go代码,今天就来一起看看go的编译过程吧! 首先先来认识以下go的代码源文件分类 命令源码文件:简单说就是含有 main 函数的那个文件,通常一个项目一个该文件,我也没想过需要两个命令源文件的项目 测试源码文件:就是我们写的单元测试的代码,都是以 _test.go 结尾 库源码文件:没有上面特征的就是库...阅读全文

博文 2019-11-14 10:04:22 大愚Talk

rune的使用

一、定义 经常在开源库中,能rune关键字,从golang源码中看出,它是int32的别名(-231~231-1),对于byte(-128~127),可表示的字符更多。 二、使用 由于rune可表示的范围更大,所以能处理一切字符,当然也包括中文字符。在平时计算中文字符,可用rune。所以通常在处理中文的时候,会用到。 package main import ( "fmt" "unicode/utf8" ) func main() { var chinese = "我是中国人, I am Chinese" fmt.Println("chinese length", len(chinese)) fmt.Println("chinese word length", len([]rune(chine...阅读全文

博文 2019-06-21 21:32:40 哆啦在这A梦在哪

Preface

‘‘Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.’’ (From the Go web site at golang.org) Go语言是开源的程序语言,它意在使人们能够构建更容易、更可靠、更有效率的软件 Go was conceived in September 2007 by Robert Griesemer, Rob Pike, and Ken Thompson, all at Google, and was announced in November 2009. Go语言是Robert Griesemer, ...阅读全文

Go 语言编译过程概述

Golang 是一门需要编译才能运行的编程语言,也就说代码在运行之前需要通过编译器生成二进制机器码,随后二进制文件才能在目标机器上运行,如果我们想要了解 Go 语言的实现原理,理解它的编译过程就是一个没有办法绕过的事情。 这一节会先对 Go 语言编译的过程进行概述,从顶层介绍编译器执行的几个步骤,随后的章节会分别剖析各个步骤完成的工作和实现原理,同时也会对一些需要预先掌握的知识进行介绍和准备,确保后面的章节能够被更好的理解。 目录 编译原理概述 词法和语法分析器 类型检查 中间代码生成 机器码生成 预备知识 想要深入了解 Go 语言的编译过程,需要提前了解一下编译过程中涉及的一些术语和专业知识。这些知识其实在我们的日常工作和学习中比较难用到,但是对于理解编译的过程和原理还是非常重要的。这一小...阅读全文

博文 2019-02-11 11:34:43 draveness

golang 相关内容

准备年前看书+ 看完之前的gorpc项目。 可以顺带看一下gocache项目。应该是cache2go项目。 感觉对go还是整个过程不了解,到底怎么从go-> 机器指令的过程。 还有对协程也不是特别的了解。现在只能说会用。 所以要全面的进行了解。 今天工作的时候比较严格的按照顺序来,所以比较顺利的结束了一些任务...阅读全文

博文 2020-01-20 07:32:42 换首歌给你听

走进Golang之编译器原理

为了学好Golang底层知识装逼,折腾了一下编译器相关知识。下面的内容并不会提升你的生产技能点,但可以提高你的装逼指数。请按需阅读! 本文目录速览: 认识 go build 编译器原理 词法分析 语法分析 语义分析 中间码生成 代码优化 机器码生成 总结 认识 go build 当我们敲下 go build 的时候,我们的写的源码文件究竟经历了哪些事情?最终变成了可执行文件。 这个命令会编译go代码,今天就来一起看看go的编译过程吧! 首先先来认识以下go的代码源文件分类 命令源码文件:简单说就是含有 main 函数的那个文件,通常一个项目一个该文件,我也没想过需要两个命令源文件的项目 测试源码文件:就是我们写的单元测试的代码,都是以 _test.go 结尾 库源码文件:没有上面特征的就是库...阅读全文

博文 2019-11-14 10:02:40 大愚Talk

Dig101:Go之聊聊struct的内存对齐

Dig101: dig more, simplified more and know more 经过前边几篇文章,相信你也发现了,struct几乎无处不在。 string,slice和map底层都用到了struct。 今天我们来重点关注下struct的内存对齐, 理解它,对更好的运用struct和读懂一些源码库的实现会有很大的帮助。 在此之前,我们先明确几个术语,便于后续分析。 字(word) 是用于表示其自然的数据单位,也叫machine word。字是电脑用来一次性处理事务的一个固定长度。 字长 一个字的位数(即字长)。 现代电脑的字长通常为16、32、64位。(一般N位系统的字长是 N/8 字节。) 电脑中大多数寄存器的大小是一个字长。CPU和内存之间的数据传送单位也通常是一个字长。还...阅读全文

博文 2020-02-21 11:32:42 newbmiao

Go-002 基本语法

1 hello world 1.1 代码 package main import "fmt" func main() { fmt.Println("hello world") } 1.2 执行 // 方法1 编译并执行 go run ./test002.go // 方法2 先构建后执行 go build ./test002.go // 构建 ./test002 // 执行 2 代码语法要素 2.1.语句 statement,构成源代码最基本的逻辑单位。 2.2.语句结束符 语句是需要结束的,所以需要语句结束符,标准的语句结束符为分号( ; )。 在 Go 的源代码中,绝大多数的情况可以省略语句结束符。从 go 的编译器的角度,会自动添加语句结束符。自动添加的情况为: 标识符(各种名字):如变...阅读全文

博文 2020-02-22 15:32:52 LikePlayAPiano

机器学习业务实践之路

课程介绍 本系列课程为您讲述如何使用机器学习算法快速解决业务问题,会以实际业务作为出发点,所有实验都提供实验流程以及实验数据,帮您用最短的时间快速学习机器学习的原理与使用方法。 课时列表 • 免费 课时1:机器学习背景知识以及业务架构介绍 • 课时2:【在线自测】机器学习入门知识自测 • 免费 课时3:机器学习实验工具PAI介绍 • 课时4:【项目实验】免费开通机器学习PAI • 免费 课时5:推荐系统-基于协同过滤的商品推荐 • 免费 课时6:推荐系统-基于用户画像的商品推荐 • 免费 课时7:深度学习-TensorFlow实现图像分类 • 免费 课时8:文本分析-新闻自动分类系统 • 免费 课时9:文本分析- 文本...阅读全文

通过例子学习 Go 和 Rust ---- 闭包

闭包简而言之,是一段有状态的代码。咱试着用闭包来做一个计数器,每次调用,闭包的状态就加1. Go func intSeq() func() int { i := 0 return func() int { i++ return i } } func main() { nextInt := intSeq() fmt.PrintLn(nextInt()) fmt.PrintLn(nextInt()) fmt.PrintLn(nextInt()) } 1 2 3 Rust 由于编译时我们无法知道闭包的体积,所以用一个Box把它套起来。另外,闭包的具体类型是不可描述的,只能用dyn关键字来通过Trait来描述。 fn main() { fn int_seq() -> Box阅读全文

博文 2020-03-03 15:32:56 Tericoder

Dig101:Go之聊聊struct的内存对齐

Dig101: dig more, simplified more and know more 经过前边几篇文章,相信你也发现了,struct几乎无处不在。 string,slice和map底层都用到了struct。 今天我们来重点关注下struct的内存对齐, 理解它,对更好的运用struct和读懂一些源码库的实现会有很大的帮助。 在此之前,我们先明确几个术语,便于后续分析。 字(word) 是用于表示其自然的数据单位,也叫machine word。字是电脑用来一次性处理事务的一个固定长度。 字长 一个字的位数(即字长)。 现代电脑的字长通常为16、32、64位。(一般N位系统的字长是 N/8 字节。) 电脑中大多数寄存器的大小是一个字长。CPU和内存之间的数据传送单位也通常是一个字长。还...阅读全文

博文 2020-02-19 10:34:17 newbmiao

【无为则无心&Python基础】— 3.编译型语言和解释型语言

1、什么是计算机语言 计算机就是一台用来计算机的机器,人让计算机干什么计算机就干什么。我们需要通过计算机的语言来控制计算机,所谓计算机的语言就是编程语言。 计算机语言其实和人类的语言没有本质的区别,不同点就是交流的主体不同。也就是说中文、英文是人和人之间的交流语言,而计算机语言(编程语言)是人和计算机交流的语言。 计算机语言发展经历了三个阶段: 机器语言 最早的一种计算机语言。 机器语言通过二进制编码来编写程序,二进制编码就是1和0,计算机也只认识1和0。 执行效率高,但编写起来太麻烦。 汇编语言 使用符号(如ABC和各种符号)来代替二进制编码。 编写程序时,不需要使用二进制,而是直接编写符号。 编写完成后,需要将符号转换为机器码,然后再由计算机执行。 符号转换为机器码的过程称为汇编。 将机...阅读全文

博文 2020-04-11 07:32:42 丘木笔记

golang 结构体

//结构体 package main import "fmt" // 用 type 关键字定义一个结构体 type person struct { name string age int } func main() { //实例化一个结构体 // 第一种情况 p1 := person{} p1.name = "小麦客" p1.age = 666 fmt.Println(p1.name) fmt.Println(p1.age) // 第二种情况 p2 := person{ name:"小麦客", age:666, } // %#v 打印详细信息 fmt.Printf("%#v\n", p2) } 结构体_结构体指针.pn...阅读全文

博文 2020-04-08 07:32:49 小麦客

好程序员大数据培训之掌握Hive的静态分区与动态分区

分区是hive存放数据的一种方式。将列值作为目录来存放数据,就是一个分区。这样查询时使用分区列进行过滤,只需根据列值直接扫描对应目录下的数据,不扫描其他不关心的分区,快速定位,提高查询效率。分动态和静态分区两种: 1.静态分区:若分区的值是确定的,那么称为静态分区。新增分区或者是加载分区数据时,已经指定分区名。 createtableifnotexistsday_part1( uidint, unamestring ) partitionedby(yearint,monthint) rowformatdelimitedfieldsterminatedby'' ; ##加载数据指定分区 loaddatalocalinpath'/root/Desktop/student.txt'intotabl...阅读全文