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

第三十一章:JWT与Golang

JWT基础概念 JWT是 json web token的简称 其中的 token 是令牌的意思, 其实这个令牌实质上是服务端生成的一段有规则的字符串 我们看看JWT官方自己对其的定义 JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be...阅读全文

博文 2020-04-05 20:32:50 captain89

Golang文件操作

目录相关 //目录创建 Package os func Mkdir(namestring, permFileMode)error { //仅创建一层目录 // Mkdir creates a new directory with the specified name and permission // bits (before umask). // If there is an error, it will be of type *PathError. func MkdirAll(pathstring, permFileMode)error { //创建多级目录 // Fast path: if we can tell whether path is a directory or file,...阅读全文

博文 2020-04-06 21:32:54 标准宅腐基全能选手

Go 语言学习笔记 -第3章 基本数据类型

Go 语言学习笔记 -第3章 [toc] 基本数据类型 数值型整数类型 int, int8(1字节), int16(2字节), int32(3字节), int64(4字节); int8范围: -2的七次方 到2的七次方 - 1xxxxxxxxxx uint, uint8, uint16, uint32, unit64, byte uint8范围:0 到2的8次方-1xxxx以此类推 rune ~ 等价int32, 表示一个unicode byte 0~255 浮点类型 float32, float64 字符型:没有专门的字符型,使用byte来保存单个字母字符 布尔型: bool 字符串:string 派生、复杂数据类型 指针数组结构体管道函数切片接口map 备注: 1、查看某个变量的数据类型...阅读全文

博文 2020-01-09 15:32:41 Mark110

在 Go 语言项目中使用 Travis CI

文链接:在 Go 语言项目中使用 Travis CI Travis CI 是一种免费的持续集成服务,而 持续集成(CI, Continuous integration) 是一种软件工程流程,概括来讲就是多提交小的 Commit 来更快的发现软件的 Bug,从而提高软件质量。 本文会详细介绍如何在 Go 语言项目中使用 Travis CI。 准备工作 GitHub 账号:用于保存项目。 Travis CI 账号:点击右上角的 Sign in with GitHub 即可通过 GitHub 创建关联账号。 示例项目 hello,它包含三个文件: hello.go: package hello func Hello() string { return "Hello, World!" } hello...阅读全文

博文 2020-05-31 23:32:48 line

go 的程序控制

go 的程序控制大致分成三种 if for case 语句 1、 if 循环 if-else 语句之间可以有任意数量的 else if。条件判断顺序是从上到下。如果 if 或 else if 条件判断的结果为真,则执行相应的代码块。 如果没有条件为真,则 else 代码块被执行。 语法结构 if condition{}else if condition{ }else{ } 定义示列 package main import "fmt" func iftest() { score :=61 if score > 60{ fmt.Println("成绩合格") } else if score >90{ fmt.Println("成绩优秀") }else if score<0 { fmt.Print...阅读全文

博文 2020-01-11 17:33:11 水滴石川1

Go-004 常量

1 概述 一旦定义,其值不可更改的量,称之为常量。也是常量标识符和常量值。 常量用于存储简单数据类型:数值,字符串。 2 定义 语法:const c1 string = “GoLang” 语法上,支持批量定义,支持类型推导: const ( c1 int = 42 c2 = 42 c3 = "golang" ) fmt.Println(c1,c2,c3) 注意: 批量定义,若 后边的只写常量名,则代表和上一个一致 const ( c1 = 42 c2 c3 ) fmt.Println(c1,c2,c3) // 42 42 42 3 使用常量的意义 防止被无意的修改。 将特定的数据语义化。 例如错误处理,使用不同的数值,表示不同的错误级别,如下所示: // 1023 表示全部的错误级别 // ...阅读全文

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

Go 语言学习笔记 -第4章复合数据类型

Go 语言学习笔记 -第4章 [toc] 复合数据类型 数组 Golang中操作数组或者序列化数据需要用到slice,程序中写作“[]" slice 指向数组的值,并且同时包含了长度信息 package main import "fmt" func main() { // list := []int{1, 2, 3, 4} list := [...]int{1, 2, 3, 4} fmt.Println(list) fmt.Printf("Type %T\n", list) for i := 0; i < len(list); i++ { fmt.Printf("list[%d]=%d\n", i, list[i]) } //重新切片s[low:high], low->(high-1) fm...阅读全文

博文 2020-01-09 15:32:41 Mark110

数据结构和算法(Golang实现)(24)排序算法-优先队列及堆排序

优先队列及堆排序 堆排序(Heap Sort)由威尔士-加拿大计算机科学家J. W. J. Williams在1964年发明,它利用了二叉堆(A binary heap)的性质实现了排序,并证明了二叉堆数据结构的可用性。同年,美国籍计算机科学家R. W. Floyd在其树排序研究的基础上,发布了一个改进的更好的原地排序的堆排序版本。 堆排序属于选择类排序算法。 一、优先队列 优先队列是一种能完成以下任务的队列:插入一个数值,取出最小或最大的数值(获取数值,并且删除)。 优先队列可以用二叉树来实现,我们称这种结构为二叉堆。 最小堆和最大堆是二叉堆的一种,是一颗完全二叉树(一种平衡树)。 最小堆的性质: 父节点的值都小于左右儿子节点。 这是一个递归的性质。 最大堆的性质: 父节点的值都大于左右儿...阅读全文

博文 2020-04-07 16:32:44 陈星星

5.Go 语言数据类型:数组与切片

Hi,大家好。 我是明哥,在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。 我的在线博客:http://golang.iswbm.com我的 Github:github.com/iswbm/GolangCodingTime 1. 数组 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,所以在Go语言中很少直接使用数组。 声明数组,并给该数组里的每个元素赋值(索引值的最小有效值和其他大多数语言一样是 0,不是1) // [3] 里的3 表示该数组的元...阅读全文

博文 2020-04-27 12:32:46 Python编程时光

learn go with tests 学习笔记(三) 指针和错误

知识点 接收者 type Circle struct { Radius float64 } func (c Circle) Area() float64 { return 0 } 声明方法的语法跟函数差不多,因为他们本身就很相似。唯一的不同是方法接收者的语法 func(receiverName ReceiverType) MethodName(args) 当方法被这种类型的变量调用时,数据的引用通过变量 receiverName 获得。在其他许多编程语言中这些被隐藏起来并且通过 this 来获得接收者。 把类型的第一个字母作为接收者变量是 Go 语言的一个惯例。 r Rectangle 断言优于逻辑 当测试用例不是一系列操作,而是事实的断言时,测试才清晰明了。 列表测试驱动 声明结构体以创建...阅读全文

博文 2020-06-02 17:32:51 硌手小石头

Golang一些编译学习探讨

问题一:能介绍一下golang的包的概念么?答:golang程序是通过编译package来生成对应的可执行程序的,编译的入口就是main::main()。包分为两类,一类纪实可执行的包,就是你创建项目之后main.go。另一种是工具包。工具包自身是不可执行的,但是它会给可执行的包增加一些功能,从而起到扩展主应用的作用。当一个包被引用的时候,GO会使用包的声明把这个包创建为全局变量。在go中,一个包就是一个目录。问题二:介绍一下goroot路径的作用呗?答:goroot为go的安装路径,当安装完成了之后,他的作用就是goroot的src路径下为标准库的源码。他的第二个作用就是当执行go run. Go build go install命令的时候,需要去查找工具包的时候,会先在goroot目录下...阅读全文

数据结构和算法(Golang实现)(19)排序算法-冒泡排序

冒泡排序 冒泡排序是大多数人学的第一种排序算法,在面试中,也是问的最多的一种,有时候还要求手写排序代码,因为比较简单。 冒泡排序属于交换类的排序算法。 一、算法介绍 现在有一堆乱序的数,比如:5 9 1 6 8 14 6 49 25 4 6 3。 第一轮迭代:从第一个数开始,依次比较相邻的两个数,如果前面一个数比后面一个数大,那么交换位置,直到处理到最后一个数,最后的这个数是最大的。 第二轮迭代:因为最后一个数已经是最大了,现在重复第一轮迭代的操作,但是只处理到倒数第二个数。 第三轮迭代:因为最后一个数已经是最大了,最后第二个数是次大的,现在重复第一轮迭代的操作,但是只处理到倒数第三个数。 第N轮迭代:.... 经过交换,最后的结果为:1 3 4 5 6 6 6 8 9 14 25 49,我...阅读全文

博文 2020-04-07 16:32:36 陈星星

数据结构和算法(Golang实现)(1)简单入门Golang-前言

数据结构和算法在计算机科学里,有非常重要的地位。此系列文章尝试使用 Golang 编程语言来实现各种数据结构和算法,并且适当进行算法分析。 我们会先简单学习一下Golang,然后进入计算机程序世界的第一个大门。 系列文章首发于:https://goa.lenggirl.com。 简单入门Golang 我们只学Golang语言的一个子集,足以开展接下来数据结构和算法的实现即可。 一、前言 Golang语言是谷歌Google公司在2007年启动,并在2009年正式发布并开源的高级编程语言。开源地址:https://github.com/golang/go,官网地址:https://golang.org。 Golang语言语法简单,支持多平台交叉编译(Linux/Mac/Windows),支持内存...阅读全文

在 Go 语言项目中使用 Travis CI

文链接:在 Go 语言项目中使用 Travis CI Travis CI 是一种免费的持续集成服务,而 持续集成(CI, Continuous integration) 是一种软件工程流程,概括来讲就是多提交小的 Commit 来更快的发现软件的 Bug,从而提高软件质量。 本文会详细介绍如何在 Go 语言项目中使用 Travis CI。 Travis CI logo 准备工作 GitHub 账号:用于保存项目。 Travis CI 账号:点击右上角的 Sign in with GitHub 即可通过 GitHub 创建关联账号。 示例项目 hello,它包含三个文件: hello.go: package hello func Hello() string { return "Hello, ...阅读全文

博文 2020-05-31 21:34:47 sulinehk

Go 语言单元测试实践

文链接:Go 语言单元测试实践 什么是软件测试? 软件测试是一个过程,该过程对软件(计算机程序)进行各种操作来发现软件错误。 为什么要进行软件测试? 进行软件测试可以帮助我们验证软件的各种功能正常,保证软件的正常工作从而提高软件质量。并且在实践中已被证明是颇有成效的。 测试驱动开发的由来: 一个从大量实践中得出的结论:人们发现在软件开发周期中,软件错误每进入到下一个阶段要修正它所付出的时间和人力会出人意表的翻上十倍。所以更早地进行软件测试可以更早地发现软件错误,从而大大减少后期修正的成本。后来又有人提出了测试驱动开发(TDD: Test-driven development),主体思想就是先编写测试程序,再实现程序功能。 下面就来介绍如何在 Go 语言中进行软件测试中较为重要的一环:单元测试...阅读全文

数据结构和算法(Golang实现)(20)排序算法-选择排序

选择排序 选择排序,一般我们指的是简单选择排序,也可以叫直接选择排序,它不像冒泡排序一样相邻地交换元素,而是通过选择最小的元素,每轮迭代只需交换一次。虽然交换次数比冒泡少很多,但效率和冒泡排序一样的糟糕。 选择排序属于选择类排序算法。 我打扑克牌的时候,会习惯性地从左到右扫描,然后将最小的牌放在最左边,然后从第二张牌开始继续从左到右扫描第二小的牌,放在最小的牌右边,以此反复。选择排序和我玩扑克时的排序特别相似。 一、算法介绍 现在有一堆乱序的数,比如:5 9 1 6 8 14 6 49 25 4 6 3。 第一轮迭代,从第一个数开始,左边到右边进行扫描,找到最小的数 1,与数列里的第一个数交换位置。 第二轮迭代,从第二个数开始,左边到右边进行扫描,找到第二小的数 3,与数列里的第二个数交换位...阅读全文

博文 2020-04-07 16:32:37 陈星星

Go随笔——Go复合数据类型

1.goto跳转package mainimport "fmt"func main() {total := 0index := 0max := 100START:index += 1total += indexif index == max {goto END}goro STARTEND:fmt.Println("total")}2.数组类型1)声明数组声明需要指定组成元素的类型以及存储元素的数量(长度)。在数组声明后。其长度不可修改,数组的每个元素会根据对应类型的零值进行初始化。var names [10]stringvar scores [10]int初始化元素names = []string{"1","2","3"} 空切片,已经初始化但是元素数量为0names = []string{...阅读全文

博文 2020-05-25 02:33:15 wujunqi1996

如何在JavaScript中转换数据类型?

在JavaScript中,数据类型用于对一种特定类型的数据进行分类,确定可以分配给类型的值以及可以对其执行的操作。虽然由于类型强制,JavaScript会自动转换许多值,但为了达到预期的结果,通常最好在类型之间手动转换值。那么如何在JavaScript中转换数据类型?下面本篇文章就来给大家介绍一下,希望对大家有所帮助。 原文地址:如何在JavaScript中转换数据类型?JavaScript 变量可以转换为新变量或其他数据类型,分为两种情况:● 隐性转换:通过 JavaScript 自身自动转换● 显性转换:通过使用 JavaScript 函数进行转换隐性转换作为一种编程语言,javascript对意外值非常宽容。因此,JavaScript将尝试转换意外的值,而不是直接拒绝它们。这种隐性转换...阅读全文

博文 2020-03-25 23:32:43 yanghs