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

Go语言字节序列、数字与字符串及其之间的互相转换

#Go语言字节序列、数字与字符串及其之间的互相转换 int int64 uint uint64 float64 string []byte之间的转换 --- ## 1 strconv包 实现了字符串和基本数据类型之间的转换。 ### 1.1 int和string转换 ``` i, err := strconv.Atoi("-42") //string->int s := strconv.Itoa(-82) //int->string fmt.Println("int<-->string:", i, err, s) -------------------------------------- int<-->string: -42 -82 ``` ### 1.2 字符串转为数字 ``...阅读全文

博文 2018-11-24 19:32:39 weiwg521

内容定义组块实现 Chunker

Chunker 是基于滚动 Rabin Hash 实现内容定义组块(CDC)。  CDC 算法是一种变长分块算法,它应用数据指纹(如Rabin指纹)将文件分割成长度大小不等的分块策略。与定长分块算法不同,它是基于文件内容进行数据块切分的,因此数据块大小是可变化的。 **package chunker** `import "github.com/restic/chunker"` 对于以十六进制系数表示法对指定的多项式列表进行过滤,可以使用以下脚本:

# create x over F_2 = GF(2)
x := Indeterminate(GF(2), "x");

# test if polynomial is irreducible, ...阅读全文

开源项目 2016-12-18 02:00:04 restic

Go语言的%d,%p,%v等占位符的使用

1、首先需要了解哪些占位符分别代表什么 这些是死知识,把常用的记住,不常用的直接查表就行了 golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 1)普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", people) {zhangsan} %+v 打印结构体时,会添加字段名 Printf("%+v", people) {Name:zhangsan} %#v 相应值的Go语法表示 Printf("#v", people) main.Human{Name:"zh...阅读全文

博文 2019-06-10 16:02:58 Juha

go二分法和牛顿迭代法求平方根

二分法 求根号5 折半:5/2=2.5 平方校验: 2.5*2.5=6.25>5,并且得到当前上限2.5 再次向下折半:2.5/2=1.25 平方校验:1.25*1.25=1.5625<5,得到当前下限1.25 再次折半:2.5-(2.5-1.25)/2=1.875 平方校验:1.875*1.875=3.515625<5,得到当前下限1.875 牛顿迭代法可以理解函数f(x) = x²,使f(x) = num的近似解,即x² - num = 0的近似解。 Code123456789101112131415161718192021222324252627282930313233343536373839404142434445package mainimport ( "fmt" "math")f...阅读全文

博文 2017-12-06 15:03:18 宽视角

golang---fmt格式“占位符”

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 // 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 1、普通占位符: 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字段名 Printf("%+v", people) {Name:zhangsan} %#v 相应值的Go语法表示 Printf("#v", people) main.Human{Name:"zhangsan"} %T 相应值的类型的Go语法表示 Printf("%T", pe...阅读全文

博文 2018-08-25 06:30:00 zhzhlong

go格式“占位符”, 输入输出,类似python的input

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf 定义示例类型和变量 type Human struct {Name string} var people = Human{Name:"zhangsan"} 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字段名 Printf("%+v", people) {Name:zhangsan} %#v 相应值的Go语法表示 Printf("#v", people) main.Human{Name:"zhangsan"} %T 相应值的类型的Go语法表示 Printf("%T", people) mai...阅读全文

不要尝试用Windows Visual Studio Code写Golang, Mac版没有那么多乱七八糟问题

不要尝试用Windows Visual Studio Code写Golang, Mac版没有那么多乱七八糟问题 试了好几天, Windows的Visual Studio Code的Go以及相关工具各种问题, 比如 代码提示超级慢, 几乎不可用 找不到import包, 路径在linux, mac下正常, 在windows上提示没有目录等 公司给的电脑是Windows, 换了自己的Mac之后, Visual Studio Code写Golang代码就顺畅多了...阅读全文

博文 2020-01-20 12:32:47 老廖2018

Go中接口的类型查询:comma-ok断言和switch测试

// code_026_go_antic_package project main.go

package main import ( "container/list" "fmt" "math/rand" //备注2:随机数的包 "sync" //备注1:异步任务的包 "time" ) type INFO struct { lock sync.Mutex //备注1:异步锁 Name string Time int64 } var List *list.List = list.New() //备注3:初始化List变量 func main() { var Info INFO go func() { for i := 0; i < 5...阅读全文

博文 2018-10-06 17:35:09 ck_god

Golang学习之基本数据类型

Golang常见数据类型 如上图所示,Golang中的数据类型分为基本数据类型与复杂数据类型(派生数据类型),这一章重点介绍Golang中的基本数据类型。基本数据类型之整型顾名思义,整型能存放的就是整数值,如0,100,-454等整型细分为两种类型,有符号整型与无符号整型 有符号整型取值范围 无符号整型取值范围 其他整数类型 整数类型中,int uint的大小与使用者的电脑操作系统位数有关Golang中,如果变量没有显式声明为何种整数类型,则默认为int类型 基本数据类型之浮点型浮点型就是用于存放小数类型的数据类型,如0.2,3.14,-9.87等 浮点数类型的分类 Golang中,如果没有显式声明浮点数类型,则默认为float64 浮点数有两种表示方式,一是十进制表示方式,二是科学计数法表...阅读全文

博文 2019-03-26 13:34:42 又绿江南岸1990

golang fmt格式“占位符”

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 # 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字段名 Printf("%+v", people) {Name:zhangsan} %#v 相应值的Go语法表示 Printf("#v", people) main.Human{Name:"zhangsan"} %T 相应值的类型的Go语法表示 Printf("%T", people...阅读全文

博文 2018-08-13 16:35:11 pengtoxen

Golang基础之格式化输出符号详解

fmt包的格式化输出输入 格式 含义 %% 一个%字面量 %b 一个二进制整数值(基数为2),或者是一个(高级的)用科学计数法表示的指数为2的浮点数 %c 字符型。可以把输入的数字按照ASCII码相应转换为对应的字符 %d 一个十进制数值(基数为10) %e 以科学记数法e表示的浮点数或者复数值 %E 以科学记数法E表示的浮点数或者复数值 %f 以标准记数法表示的浮点数或者复数值 %g 以%e或者%f表示的浮点数或者复数,任何一个都以最为紧凑的方式输出 %G 以%E或者%f表示的浮点数或者复数,任何一个都以最为紧凑的方式输出 %o 一个以八进制表示的数字(基数为8) %p 以十六进制(基数为16)表示的一个值的地址,前缀为0x,字母使用小写的a-f表示 %q 使用Go语法以及必须时使用转义,...阅读全文

博文 2019-06-29 01:32:40 Holechain

go学习

一个特殊的变量名是_(下划线)。任何赋给它的值都被丢弃。在这个例子中,将35赋值给b,同时丢弃34。 _, b := 34, 35 完整的整数类型列表(符号和无符号)是int8,int16,int32,int64 和byte,uint8,uint16,uint32,uint64。byte 是uint8 的别名。浮点类型的值有float32 和float64 (没有float 类型)。64 位的整数和浮点数总是64 位的,即便是在32 位的架构上。需要留意的是这些类型全部都是独立的,并且混合用这些类型向变量赋值会引起编译器错误,例如下面的代码:相似的类型都是独立的 package main func main() { var a int //通用整数类型 var b int32 //32 位整...阅读全文

博文 2016-02-18 21:00:01 dai_dai

区块链概况:什么是区块链

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 区块链技术自身仍然在飞速发展中,目前还缺乏统一的规范和标准。 wikipedia 给出的定义为: A blockchain —originally, block chain —is a distributed database that maintains a continuously-growing list of data records hardened against tampering and revision. It consists of data structure blocks—which hold exclusively data in initial blockchain implement...阅读全文

博文 2019-09-26 16:33:14 链客

Go语言 fmt格式“占位符”

本篇文章转载自 http://www.cnblogs.com/qing123/articles/4353353.html?hmsr=studygolang.com&utm_medium=studygolang.com&utm_source=studygolang.com golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 # 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 普通占位符 占位符 说明 举例 输出 %v 打印一个内置值的值。 Printf("%v", people) {zhangsan} %+v 打印结构体时,会添加字段名 Pr...阅读全文

博文 2018-08-18 22:34:52 小杰的快乐时光

golang fmt格式“占位符”

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u013007900/article/details/80871970 golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 # 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"sujing"} 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf(“%v”, people) {sujing}, %+v 打印结构体时,会添加字段名 Printf(“%+v”, people) {Name:sujing} %#v 相应值的Go语法表示 Printf(“#...阅读全文

博文 2019-04-22 18:31:37 u013007900

fmt.Printf中的格式化动作('verb')

# 源自C语言但更简单 ## 通用: ``` %v 值的默认格式表示 %+v 类似%v,但输出结构体时会添加字段名 %#v 值的Go语法表示 %T 值的类型的Go语法表示 %% 百分号 ``` ## 布尔值: ``` %t 单词true或false ``` ## 整数: ``` %b 表示为二进制 %c 该值对应的unicode码值 %d 表示为十进制 %o 表示为八进制 %q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示 %x 表示为十六进制,使用a-f %X 表示为十六进制,使用A-F %U 表示为Unicode格式:U+1234,等价于"U+%04X" ``` ## 浮点数与复数的两个组分: ``` %b 无小数部分、二进制指数的科学计数法,如-123456p...阅读全文

博文 2018-10-03 16:53:53 ace_kylin

2018-10-22算法图解阅读笔记

阅读本书起源于左耳朵耗子的《左耳听风》 收益颇多,感谢老一辈程序员的无私分享。感谢~ 第一章 算法简介 应用算法与暴力查询之间的效率差 主要以全遍历和二分查找法进行时间效率上的对比,引入算法重要性。 二分查找法 主要思路:假设已知要查找的数据元素的大小,并且输入的要查找的数据集有序。选取中间的数据元素与要查找的元素进行对比。 然后剔除无用的1/2检索集,到最后检索到目标元素返回目标元素,或者找不到返回空值。 实现代码 golang版本 func MidSearch(SearchArr [] int, needle, begin, end int, ) int { for begin <= end { mid := (begin+end)/2 if SearchArr[mid] == need...阅读全文

博文 2018-10-22 10:34:39 zhaoxi_yu

05Go语言fmt包详解

Go语言fmt包详解 格式化输出函数 func Print(a ...interface{}) (n int, err error) Print采用默认格式将其参数格式化并写入标准输出。如果两个相邻的参数都不是字符串,会在它们的输出之间添加空格,返回写入的字节数和遇到的任何错误。 func Printf(format string, a ...interface{}) (n int, err error) Printf根据format参数生成格式化的字符串并写入标准输出,返回写入的字节数和遇到的任何错误。 func Println(a ...interface{}) (n int, err error) Println采用默认格式将其参数格式化并写入标准输出。总是会在相邻参数的输出之间添加空...阅读全文

从零学习 Go 语言(03):数据类型之整型与浮点型

Hi,大家好呀,我是一个刚学习 Go 语言不久的新手,在入门 Golang 的这段时间里,我写了很多详细的学习笔记,很适合新手学习噢。这些文章已经发布在我的个人微信公众号里:《Go编程时光》里,今天开始将文章内容搬运到这里,希望有更多的人看到,给更的人带来帮助,但是这里文章会相对滞后,想获取最新文章,可以前往关注《Go编程时光》,请放心关注,这是一个纯分享的号,完全没有广告。 **系列导读 ** [从零学习 Go 语言(01):一文搞定开发环境的搭建](https://studygolang.com/articles/27365) [从零学习 Go 语言(02):学习五种变量创建的方法](https://studygolang.com/articles/27432) --- ## 1. 整型...阅读全文

博文 2020-03-24 19:39:27 hello_wbm

《Golang 入门系列二》fmt格式“占位符”

前言:本文主要介绍Golang的fmt占位符,使用的时候会经常用到,方便查阅 golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 定义示例类型和变量: type Human struct { Name string } var people = Human{Name:"zhangsan"} 普通占位符: 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字段名 Printf("%+v", people) {Name:zhangsan} %#v 相应值的Go语法表示 Printf("#v", people) main.Human{Name:"zhangsan...阅读全文

博文 2018-02-17 09:33:03 IT--小哥

Go数据类型

Go 语言是一种静态类型的编程语言,在 Go 编程语言中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。编译器在进行编译的时候,就要知道每个值的类型,这样编译器就知道要为这个值分配多少内存,并且知道这段分配的内存表示什么。 ![](https://img2018.cnblogs.com/blog/720430/201810/720430-20181026095557581-1443352750.png) ## 基本数据类型说明 |类型|描述| |:----|:----| |uint|32位或64位| |uint8|无符号 8 位整型 (0 到 255)| |uint16|无符号 16 位整型...阅读全文

Go语言学习笔记(2)

基本数据类型和string之间的转换 (1) 基本类型转string 使用 fmt.Sprintf(“%参数”, 表达式) a. 通用: 参数 含义 %v 值的默认格式表示 %+v 类似%v,但输出结构体时会添加字段名 %#v 值的Go语法表示 %T 值的类型的Go语法表示 %% 百分号 b. 布尔值: 参数 含义 %t 单词true或false c. 整数: 参数 含义 %b 表示为二进制 %c 该值对应的unicode码值 %d 表示为十进制 %o 表示为八进制 %q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示 %x 表示为十六进制,使用a-f %X 表示为十六进制,使用A-F %U 表示为Unicode格式:U+1234,等价于"U+%04X" d. 浮点数...阅读全文

博文 2019-01-16 16:34:44 丹枫无迹

基础知识 - Golang 中的格式化输入输出

【格式化输出】 // 格式化输出:将 arg 列表中的 arg 转换为字符串输出 // 使用动词 v 格式化 arg 列表,非字符串元素之间添加空格 Print(arg列表) // 使用动词 v 格式化 arg 列表,所有元素之间添加空格,结尾添加换行符 Println(arg列表) // 使用格式字符串格式化 arg 列表 Printf(格式字符串, arg列表) // Print 类函数会返回已处理的 arg 数量和遇到的错误信息。 【格式字符串】 格式字符串由普通字符和占位符组成,例如: "abc%+ #8.3[3]vdef" 其中 abc 和 def 是普通字符,其它部分是占位符,占位符以 % 开头(注:%% 将被转义为一个普通的 % 符号,这个不算开头),以动词结尾,格式如下: %...阅读全文

博文 2019-04-19 18:34:42 佛心看世界

golang fmt格式“占位符”

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 # 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字段名 Printf("%+v", people) {Name:zhangsan} %#v 相应值的Go语法表示 Printf("#v", people) main.Human{Name:"zhangsan"} %T 相应值的类型的Go语法表示 Printf("%T", people...阅读全文

博文 2018-02-06 15:33:06 cnu2m

4. golang的整数和浮点数以及bool类型

一, 整数 整数,就是存放整数值的,如0, -1, 800等 整数的类型: 类型 有无符号 占用存储空间 值范围 备注 int8 有 1字节 -2^7 ~ 2^-1 int16 有 2字节 -2^15 ~ 2^15 -1 int32 有 4字节 -2^31 ~ 2^31 -1 int64 有 8字节 -2^63 ~ 2^63 -1 uint8 无 1字节 0 ~ 2^8 - 1 uint16 无 2字节 0 ~ 2^16 - 1 uint32 无 4字节 0 ~ 2^32 - 1 uint64 无 8字节 0 ~ 2^64 - 1 int 有 32位系统4个字节 64位系统8个字节 参考int32和int64 uint 无 32位系统uint32 64系统uint64 参考uint32和ui...阅读全文

博文 2020-01-22 17:32:44 瓦灯_c6f0

go编程学习

1.go 项目目录结构2.go build生成二进制文件go build hello.gogo build -o hellotest hello.go #可以指定二进制文件名3.go run 以脚本形式运行go run hello.go 4.定义变量方法package mainimport "fmt"//全局声明var n1 = 100var n2 = 200var name = "xiaohuihui" //一次性声明var (n3 = 300n4 = 900name2 = "mary")func main(){ var i int fmt.Println("i=",i) //默认值0 var num = 10.11 fmt.Println(num) name := "tom" //等价于...阅读全文

博文 2020-03-15 10:33:16 小白的希望

从golang的垃圾回收说起(上篇)

本文来自网易云社区1 垃圾回收中的重要概念1.1 定义In computer science, garbage collection (GC) is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program. Garbage collection was invented by John McCarthy around 1959 to simplify manual memory manage...阅读全文

博文 2018-08-28 21:30:01 zyfd

go-Printf占位符(之后有时间整理成表格)

自https://768992698.iteye.com/blog/2326069 # 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字段名 Printf("%+v", people) {Name:zhangsan} %#v 相应值的Go语法表示 Printf("#v", people) main.Human{Name:"zhangsan"} %T 相应值的类型的Go语法表示 Printf("%T", people) mai...阅读全文

博文 2019-06-19 11:02:57 p_gerer

生成排列的算法汇总

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

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

encoding/json

在处理网络编程时, json格式的数据方便在网络上传输, 兼具可视化和效率... 虽然效率没有那么高... 但是确实使用的很广泛呀. 这个包用于处理golang的json相关的东西. 这个包在处理json问题时, 会用到反射获取字段的tag. 可以参考反射包... golang的官方文档~ https://blog.golang.org/json-and-go package main import ( "fmt" // "reflect" "encoding/json" ) type User struct{ // Name string `json:"-,"` // 这个导出才是 {"-":"张三","age":20} // Name string `json:"-"` // alway...阅读全文

博文 2019-04-16 20:34:46 个00个

Go 字符串格式化

文地址:https://www.kancloud.cn/itfanr/go-by-example/81647 Go对字符串格式化提供了良好的支持。下面我们看些常用的字符串格式化的例子。 package main import "fmt" import "os" type point struct { x, y int } func main() { // Go提供了几种打印格式,用来格式化一般的Go值,例如 // 下面的%v打印了一个point结构体的对象的值 p := point{1, 2} fmt.Printf("%v\n", p) // 如果所格式化的值是一个结构体对象,那么`%+v`的格式化输出 // 将包括结构体的成员名称和值 fmt.Printf("%+v\n", p) // `...阅读全文

博文 2020-02-12 18:33:15 1350368559

Float的基本介绍

关于浮点数,为什么它生来就可能存在误差?带着好奇查阅了一些介绍,然后做了简单汇总。这只是一段知识的开始,后续还会继续完善。—— 荡荡上帝,下民之辟。疾威上帝,其命多辟。天生烝民,其命匪谌。靡不有初,鲜克有终。 Floating-point represent 浮点数在计算机中是如何表示的?因为它有小数点,那么小数点后面的数,该如何用二进制来表示呢?我们都知道,浮点数本身就存在误差,在工作中,你所使用的float都是一个近似数。这又是什么原因导致的呢? 1. Fixed-point fixed-point 是将bit位拆分成固定的两部分:小数点前的部分和小数点后的部分。拿32 bit的fixed-point表示举例,可以将其中的24 bit用于表示整数部分,剩余的8 bit表示小数部分。 假如...阅读全文

Go小技巧之互斥锁、随机数、time、List

// code_026_go_antic_package project main.go

package main import ( "container/list" "fmt" "math/rand" //备注2:随机数的包 "sync" //备注1:异步任务的包 "time" ) type INFO struct { lock sync.Mutex //备注1:异步锁 Name string Time int64 } var List *list.List = list.New() //备注3:初始化List变量 func main() { var Info INFO go func() { for i := 0; i < 5...阅读全文

博文 2018-10-06 17:35:09 ck_god

3. Go语言中的整型与浮点型

文章首发自公众号:Go编程时光 《Go编程时光》,一个能带你学习 Go 语言的专栏,同时欢迎搜索我的同名公众号【Go编程时光】(排版精美更适合阅读),第一时间获取Go语言干货。 系列导读 1. 一文搞定Go语言开发环境的搭建 2. Go 语言中五种变量创建的方法 1. 整型 Go 语言中,整数类型可以再细分成10个类型,为了方便大家学习,我将这些类型整理成一张表格。 int 和 uint 的区别就在于一个 u,有 u 说明是无符号,没有 u 代表有符号。 解释这个符号的区别 以 int8 和 uint8 举例,8 代表 8个bit,能表示的数值个数有 2^8 = 256。 uint8 是无符号,能表示的都是正数,0-255,刚好256个数。 int8 是有符号,既可以正数,也可以负数,那怎么...阅读全文

博文 2020-03-27 14:34:36 王一白

leetcode --- 三步问题(DP)

三步问题 leetcode-golang 问题 有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。 示例1: 输入:n = 3 输出:4 说明: 有四种走法 示例2: 输入:n = 5 输出:13 提示: n范围在[1, 1000000]之间 解题思路 分析:设跳到i阶的方式有dp[i]种方式,那么跳往dp[i]的所有情况为 第 i-3 阶跳 3 阶,dp[i-3]种方式 第 i-2 阶跳 2 阶,dp[i-2]种方式 第 i-1 阶跳 1 阶,dp[i-1]种方式 dp[i] = dp[i-3] + dp[i-2] + dp[i-3] 疑问:为什么 i-3 阶跳到 i-2 阶不算...阅读全文

博文 2020-03-17 23:32:45 laijh

go 开发小结

数据互相转换 int 转string string := strconv.Itoa(int) string到int int,err := strconv.Atoi(string) string到int64 int64, err := strconv.ParseInt(string, 10, 64) int64到string string := strconv.FormatInt(int64,10) map 到json字符串 m := map[string]string{} mjson,_ :=json.Marshal(m) mString :=string(mjson) json到struct 如果是单层可以直接用interface转为map jsonStr = `{}` var jsonS...阅读全文

博文 2020-05-02 11:33:40 Stevenzwzhai

golang fmt格式“占位符”

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 # 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字段名 Printf("%+v", people) {Name:zhangsan} %#v 相应值的Go语法表示 Printf("#v", people) main.Human{Name:"zhangsan"} %T 相应值的类型的Go语法表示 Printf("%T", people...阅读全文

博文 2018-08-30 12:30:01 soundcode

Go语言学习之懒人速成 - 基础篇

在上一篇《入门篇》,已经提高了Go的安装和使用,接下来我们一起学习一下Golang的基础语法 为响应一起交流的朋友们的吐槽,后续文章将陆续加上目录结构,方便大家阅读(主要还是懒,O(∩_∩)O) orz......- api文档- 包 - package- main方法- 变量- 常量- iota关键字- 数组- fmt是什么鬼------------------------------------------------------------------------------------首先,先提供给大家一个api官网,开发者必备手册,地址:https://golang.org/cmd/api/当然,可能有的朋友没有VPN,连接不上官网,有一个本地查看文档的方式,如下:$> go he...阅读全文

博文 2018-12-06 19:32:38 han0373

go基本类型使用细节

整型的使用细节 Golang 各整数类型分:有符号和无符号 ,int uint的大小和系统有关。 Golang 的整型默认声明为int型 var n1 = 100 fmt.Printf('n1的数据类型%T',n1) 如何在程序查看某个变量的字节大小和数据类型(使用较多) var n2 int64 = 10 fmt.Printf('n2的 数据类型 %T n2占用的字节数是 %d',n2,unsaft.Sizeof(n2)) 浮点型使用细节 Golang 浮点类型有固定的范围和字段长度,不受具体OS(操作系统)的影响。 Golang 的浮点型默认声明为float64 类型。 浮点型常量有两种表示形式 十进制数形式:如:5.12 .512 (必须有小数点) 科学计数法形式:如:5.1234e2...阅读全文

博文 2019-01-03 18:34:44 StevenQin

基本类型介绍

Golang 有更明确的数字类型命名,支持 Unicode,支持常用数据结构。 WX20190219-003105@2x.png 支持八进制、 十六进制,以及科学记数法。标准库 math 定义了各数字类型取值范围。 a, b, c, d := 071, 0x1F, 1e9, math.MinInt16 空指针值 nil,而非C/C++ NULL。 基本类型应用: bool:只能存true和false uint uint8 uint16 uint32 uint64 uintptr byte // uint8 的别名 :字符类型 rune // int32 的别名,代表一个Unicode码,用UTF-8 进行编码。 rune 类型在什么时候使用呢? 例如需要遍 历字符串中的字符。可以循环每个字节...阅读全文

博文 2019-02-19 03:35:23 weifansym

golang fmt格式“占位符”

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 # 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字段名 Printf("%+v", people) {Name:zhangsan} %#v 相应值的Go语法表示 Printf("#v", people) main.Human{Name:"zhangsan"} %T 相应值的类型的Go语法表示 Printf("%T", people...阅读全文

博文 2020-01-04 19:32:50 寒云暮雨

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

初识GoLang

1、概念 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。 2、特点 简洁、快速、安全 Go语言语法简单易学、学习曲线平缓,相比于C/C++,Go语言具有很高的开发效率。 并行、有趣、开源 Go语言为高并发而生。 代码风格统一,便于阅读。 Go语言使用go fmt,统一格式化代码。 3、安装 下载地址 下载对应平台下的文件,使用下一步安装法。 image.png ...阅读全文

博文 2020-01-27 13:32:41 kjkongjun

3. Go语言数据类型:整型与浮点型

Hi,大家好呀,我是一个刚学习 Go 语言不久的新手,在入门 Golang 的这段时间里,我写了很多详细的学习笔记,很适合新手学习噢。这些文章已经发布在我的个人微信公众号里:《Go编程时光》里,今天开始将文章内容搬运到这里,希望有更多的人看到,给更多的人带来帮助,但是这里文章会相对滞后,想获取最新文章,可以前往关注《Go编程时光》,请放心关注,这是一个纯分享的号,完全没有广告。 1. 整型 Go 语言中,整数类型可以再细分成10个类型,为了方便大家学习,我将这些类型整理成一张表格。 int 和 uint 的区别就在于一个 u,有 u 说明是无符号,没有 u 代表有符号。 解释这个符号的区别 以 int8 和 uint8 举例,8 代表 8个bit,能表示的数值个数有 2^8 = 256。 u...阅读全文

博文 2020-04-25 20:32:42 Python编程时光

让我们一起啃算法----搜索插入位置

搜索插入位置( Search-Insert-Position ) 题干: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1: 输入: [1,3,5,6], 5 输入: 输出: 2示例 3: 输入: 输入: [1,3,5,6], 7 输入: 输出: 4示例 4: 输入: 输入: [1,3,5,6], 0 输入: 输出: 0来源:力扣 这题主要应用 二分查找 的思路来解题,题目是比较简单的,但是 二分查找 这个思路还是蛮重要的。 解题思路 一般使用 二分查找 都需要先对原数组进行排序,题中给到的数组是已经排序的,因此这一步可以省去。 二分查找 思路比较简单,首先初始化三个指针: left ...阅读全文

博文 2020-05-20 17:33:02 三斤和他的朋友们

leetcode_50

Golang: 思路:快速幂乘法,二分法的一种吧,对其他语言也许有边界上的要求,可是go,那真的是轻巧 代码如下: func myPow(x float64, n int) float64 { if n<0{ n=-n x=1/x } if n==1{ return x } if n==0{ return 1 } temp1:=myPow(x,n/2) temp2:=1.0 if n%2==1{ temp2=x } return temp1*temp1*temp2 ...阅读全文

博文 2020-03-23 14:33:02 淳属虚构