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

Go学习笔记之基础数据类型

1 整数 在 Go 语言中,如果不加特殊前缀,都是10进制表示,例如:“100” 整数可以直接用指数形式,例如:“1E9”,意思是 1 * (10^9),1 乘以 10 的 9 次方 整数的加减法用 + 和 - 号,乘法用 * 号,除法用 / 号, 得到的商是整数,例如 5 / 2 = 2,而 % 号是求余(取模), 例如 5 % 2 = 1 在 Go语言中,整数类型分为带符号整型和不带符号整型,接着又分别按照长度各自划分为4个类型。 带符号整型 int8 int16 int32 int64 不带符号整型 uint8 uint16 uint32 uint 64 除此之外还有默认类型 int 和 uint,目前都是32位,未来可能会变成64位 还有2个特殊的整型别名 ,和字符串很相关,分别是:...阅读全文

博文 2014-10-12 21:00:11 hnxxwyq

深入Go语言 - 6 类型转换、类型断言和类型切换

目录 [−] 类型转换 Conversion转换常量值转换变量值类型转换实践数值类型之间的转换整数和bool之间的转换基于字节的字符串的转换字符串和基本类型之间的转换字节slice和整数之间的转换数组和slice之间的转换struct和字符串之间的转换Java字符串和Go字符串之间的转换类型断言 type assertion类型切换 type switch 本文介绍 类型转换(Conversion)、类型断言(type assertion) 和类型切换(type switch)。 这三个概念类似但是又完全不同。 类型转换 Conversion 将一个值x转换成特定类型T,格式为 T(x),非常的简单,类型加小括号即可。 如果类型T以 *、<-、func(不带结果列表),未避免造成歧义,需要将...阅读全文

博文 2017-02-08 12:53:39 smallnest

Golang中除法和取模运算与Python3的区别

个人主页:[https://polar9527.github.io] 除法的取整分为三类:向上取整、向下取整、向零取整。 向上取整:向+∞ 方向取最接近精确值的整数。在这种取整方式下, 5 / 3 = 2, -5 / -3 = 2, -5 / 3 = -1, 5 / -3 = -1。 向下取整:向-∞ 方向取最接近精确值的整数。在这种取整方式下, 5 / 3 = 1, -5 / -3 = 1, -5 / 3 = -2, 5 / -3 = -2。 向零取整:向 0 方向取最接近精确值的整数,换言之就是舍去小数部分,因此又称截断取整。在这种取整方式下, 5 / 3 = 1, -5 / -3 = 1, -5 / 3 = -1, 5 / -3 = -1。 然后由除法结果根据如下公式推导出模运算结果。...阅读全文

博文 2019-06-06 14:32:43 polar9527

Go学习笔记之基础数据类型

http://studygolang.com/articles/1348 1 整数 在 Go 语言中,如果不加特殊前缀,都是10进制表示,例如:“100” 整数可以直接用指数形式,例如:“1E9”,意思是 1 * (10^9),1 乘以 10 的 9 次方 整数的加减法用 + 和 - 号,乘法用 * 号,除法用 / 号, 得到的商是整数,例如 5 / 2 = 2,而 % 号是求余(取模), 例如 5 % 2 = 1 在 Go语言中,整数类型分为带符号整型和不带符号整型,接着又分别按照长度各自划分为4个类型。 带符号整型 int8 int16 int32 int64 不带符号整型 uint8 uint16 uint32 uint 64 除此之外还有默认类型 int 和 uint,目前都是32位...阅读全文

博文 2016-06-16 13:00:16 kungfupanda

(转)二进制相关基础

载:https://mp.weixin.qq.com/s?__biz=MzU2NjIzNDk5NQ==&mid=2247483797&idx=1&sn=18579f6a4e319b6adefc02520a59e2bc&scene=21#wechat_redirect golang的基本数据类型-整型 种类  有符号(负号)  1. int8 int16 int32 int64 无符号(无符号)  1. uint8 uint16 uint32 uint64 架构特定(取决于系统位数)  1. int uint 类型别名  1. Unicode字符rune类型等价int32  2. byte等价uint8 特殊类型  1. uintptr,无符号整型,  2. 由系统决定占用位大小,足够存放指针...阅读全文

博文 2018-08-13 18:35:56 one_zheng

【go密码学】-对称加密算法

介绍 对称加密算法是相对于非对称加密算法而言,两者的区别在于,对称加密和加密和解密时使用相同的秘钥,而非对称加密在加密和解密时使用不同的秘钥(公钥和私钥)。常见的对称加密算法:DES、3DES、AES。 DES DES的基础结构,由IBM公司的Horst Feistel设计,因此称Feistel网络。在Feistel网络中,加密的每个步骤称为轮,经过初始置换后的64位明文,进行了16轮Feistel轮的加密过程,最后经过终结置换后形成最终的64位密文,如下图: go实现DES package main import ( "bytes" "fmt" "crypto/des" "crypto/cipher" "encoding/base64" ) //利用秘钥通过DES算法实现明文的加密 //利...阅读全文

博文 2018-10-11 17:34:42 jincheng828

golang uint8转int8越界

var i uint8 = 128 fmt.Println(int8(i)) //结果为-128 很显然这里出现了越界的情况,int8类型的范围是-128~127,所以uint8类型的128转换为int8类型时会出现越界。那么这里是怎么出现-128结果的呢? 原来计算机中都是以补码进行存储的。uint8类型的128,原码为1000 0000,补码也为1000 0000;当转换为int8类型时,补码还是1000 0000,这里就变成了已知补码求原码;首位代表符号位,不做处理,其余各位按位取反再加1,截断之后可以得出1000 0000,即-128...阅读全文

博文 2019-04-23 04:34:41 杜子龙

学习笔记——原码、反码、补码

一、原码表示法 原码表示法是一种最简单的机器数表示法,其最高位为符号位,符号位为“0”时表示该数为正,符号位为“1”时表示该数为负,数值部分与真值相同。若真值为纯小数,它的原码形式为Xs,.X1X2X3...Xn,其中Xs表示符号位。原码定义为: example-1: 若:X = 0.0110 则:[X]原 = X = 0.0110 若:X = -0.0110 则:[X]原 = 1 - X = 1 - (-0.0110) = 1 + 0.0110 = 1.0110 若真值为纯整数,它的原码形式为XsX1X2X3...Xn,其中Xs表示符号位。原码的定义为: example-2: 若:X = 1101 则:[X]原 = X = 01101 若:X = -1101 则:[X]原 = 2^n - ...阅读全文

博文 2018-12-30 09:34:44 Lierba

程序员之路

我目前是某公司游戏后端工程师,从业时间较短,些许见识,大牛勿喷。 12年,自己作为萌新初次接触软件工程这门在当时看起来高大上的学科,怀着些许忐忑,用c写下hello world;18年,写下这片文章时,参与的某款游戏DAU维持在百万量级并维护超过半年。 结合自己的经历,我想谈谈对于程序员的看法。 一:什么人适合做程序? 抽象思维能力。我在做高中物理 - 带电微粒在磁场中的运动问题时,仿佛自己就是那个微粒,在哪个点收到怎样的力,做怎样的运动。当我学习补码运算、累加器时感触更深, 善于发现事物的关联。我和我的朋友有这样的共同点:此时明明在讲这件事情,突然就跳到了另一件事。还记得与大学同学小A的对话,我说:“谁规定上课不能穿拖鞋呢?穿拖鞋与尊重老师之间没有必然联系”,小A说:“那也没人规定出门要穿...阅读全文

博文 2018-11-05 18:34:46 ysdyyy

GO语言基础(二)2019-05-08

golang运算符10点40,结束了第一章,了解了golang的变量类型,这一章将会介绍golang的运算符P58-P61:算术运算符几乎完全类C,取消了三元运算符 a++ a--不能赋值给别的变量,只能独立使用,且没有++a这种用法,这与C不同%:a%b=a-a/b*b 算术运算符 P62-P68:各种运算符(与C完全一样,直接跳过)P69:I/O控制 fmt.Scanf() fmt.Scanln()P70-P76:计算机原理(跳过)%b:二进制输出强化一下原码、反码、补码的基础知识P77-P107:流程控制(类C,跳过...阅读全文

博文 2019-05-09 03:34:52 竖琴犹奏相思苦

你可能不知道的的linux文件权限管理

目录的 rwx 权限 当前用户:vagrant:vagrant创建 testdir 目录,进入 testdir 目录内。创建文件 test。 $ mkdir testdir $ cd testdir $ touch test 修改 testdir 权限为 000,尝试执行 ls testdir $ chmod 000 testdir $ ls testdir/ ls: cannot open directory testdir/: Permission denied 修改 testdir 权限为 400,尝试执行 ls testdir $ chmod 400 testdir ls -l testdir/ ls: cannot access testdir/test: Permission d...阅读全文

博文 2018-11-19 18:34:46 Y_xx

Golang中位运算的详细理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kwame211/article/details/79193164 前言: 位运算可能在平常的编程中使用的并不多,但涉及到底层优化,一些算法及源码可能会经常遇见。今天就学习一下常用的位运算 一、常用的位运算: & 与 AND | 或OR ^ 异或XOR &^ 位清空 (AND NOT) << 左移 >> 右移 二、位运算的用法: 位运算都是在二进制的基础上进行运算的,所以在位运算之前要先将两个数转成二进制 1. & & 只有两个数都是1结果才为1 例:var i uint8 = 20 var j uint8=15 求i&j i转成二进制为0001 0100, j转成二进制为0000 1111 0...阅读全文

博文 2019-01-14 14:31:35 kwame211

位运算

位运算思考题 func main() { var a int = 1 >> 2 //位右移 var b int = -1 >> 2 var c int = 1 << 2 //位左移 var d int = -1 << 2 //a,b,c,d 结果是多少 fmt.Println("a=", a) fmt.Println("b=", b) fmt.Println("c=", c) fmt.Println("d=", d) } func main() { fmt.Println(2&3) //位与 fmt.Println(2|3) //位或 fmt.Println(13&7) fmt.Println(5|4) //? fmt.Println(-3^3) //?//位异或 } 原码、反码、补码 对于...阅读全文

博文 2019-02-19 12:34:42 StevenQin

Golang中位运算的详细理解

前言:位运算可能在平常的编程中使用的并不多,但涉及到底层优化,一些算法及源码可能会经常遇见。今天就学习一下常用的位运算一、常用的位运算: & 与 AND | 或OR ^ 异或XOR &^ 位清空 (AND NOT) << 左移 >> 右移 二、位运算的用法: 位运算都是在二进制的基础上进行运算的,所以在位运算之前要先将两个数转成二进制1. & & 只有两个数都是1结果才为1 例:var i uint8 = 20 var j uint8=15 求i&j i转成二进制为0001 0100, j转成二进制为0000 1111 0001 0100 & 0000 1111 = 0000 0100 0000 0100对应的十进制就是4 2. | 或 两个数有一个是1 结果就是1 0001 0100 | ...阅读全文

博文 2019-02-01 11:31:39 skh2015java

go语言数值类型及布尔类型

常量 常量声明常量是程序在编译时就确定的值,程序在执行时不能修改常量的值。声明常量使用关键字const。在声明常量时,需要对常量赋值。const 名称 类型 = 值 或const 名称 = 值 自动做类型推断 const aa int = 123 //正确 const aa = 123 //正确 const aa int //错误 枚举go语言没有提供枚举类型,可以借助常量来定义, iota默认值是0,在一组const定义中每次+1, const ( E int = iota // 东 0 W // 西 1 S // 南 2 N // 北 3 ) const ( E1 int = iota + 3 // 东 3 W1 // 西 4 S1 // 南 5 N1 // 北 6 ) 变量 变量是编程...阅读全文

关于type之后的类型作为case的一种情况的类型检查 发现出错

以下代码在类型检查那边会出错,只会执行default的。但是在简单的代码中我试验过了可以使用这种type之后的类型作为case的一种情况的 ```go type CBC func(b cipher.Block, iv []byte) cipher.BlockMode type CFB func(b cipher.Block, iv []byte) cipher.Stream type ModeFunc string const ( CBCDecrypter ModeFunc = "NewCBCDecrypter" CBCEncrypter ModeFunc = "NewCBCEncrypter" CFBDecrypter ModeFunc = "NewCFB...阅读全文