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

golang之路-api杂记-格式化float输出

golang之路-格式化float输出 代码: a:=strconv.FormatFloat(10.100,'f',-1,32) 输出: 10.1 a := strconv.FormatFloat(10.101, 'f', -1, 64) 输出: 10.101 a := strconv.FormatFloat(10.010, 'f', -1, 64) 输出:10.01 a:=strconv.FormatFloat(10.1,'f',2,64) 输出:10.10 f 参数可以是e,E,g,G-1 代表输出的精度小数点后的位数,如果是<0的值,则返回最少的位数来表示该数,如果是大于0的则返回对应位数的值64 为float的类型,go中float分为32和64位,因此就需要传入32或者6...阅读全文

博文 2014-12-31 01:00:04 stephen830

阿里财报:云计算年度营收133亿,季度营收连续12个季度翻番

摘要: 北京时间5月4日晚间,阿里巴巴集团公布2018财年第四季度和全年财报,该季度内(2018年1月至3月底)阿里云营收43.85亿元,同比增长103%;2018财年(2017年4月至2018年3月底)营收133.9亿元,同比增长101%。 北京时间5月4日晚间,阿里巴巴集团公布2018财年第四季度和全年财报,该季度内(2018年1月至3月底)阿里云营收43.85亿元,同比增长103%;2018财年(2017年4月至2018年3月底)营收133.9亿元,同比增长101%。 过去三年,阿里云每个季度以三位数左右的增速在不断扩大自己的市场领先优势。截止2017年上半年,研究机构IDC通过销售、市场等渠道得到的调研数据显示,阿里云在中国云计算IaaS市场份额为47.6%,几乎为市场所...阅读全文

GOLANG 基本数据类型 整型

基本数据类型-整型 种类 有符号(负号) int8 int16 int32 int64 无符号(无符号) uint8 uint16 uint32 uint64 架构特定(取决于系统位数) int uint 类型别名 Unicode字符rune类型等价int32 byte等价uint8 特殊类型 uintptr,无符号整型, 由系统决定占用位大小,足够存放指针即可,和C库或者系统接口交互 取值范围 具体类型 取值范围 int8 -128到127 uint8 0到255 int16 -32768到32767 uint16 0到65535 int32 -2147483648到2147483647 uint32 0到4294967295 int64 -9223372036854775808到9223...阅读全文

博文 2016-08-30 16:00:00 zengyz

go 最大的无符号数

这里其实主要是翻译http://blog.golang.org/constants,其中An exercise: The largest unsigned int 部分。 如何构造最大的无符号数。对于确定位数的无符号数,只要移位即可,例如:对于uint32,只要const MaxUint32 = 1<<32 - 1 。 但是,对于不确定位数的uint,就不能这样了,其实,我们知道,最大的无符号数和-1在位数上是一样的。但是,无论是 const MaxUint uint = -1 // Error: negative value , 还是const MaxUint uint = uint(-1) // Error: negative value ,都不能通过编译,原因自然是类型与范围的冲突了。...阅读全文

博文 2015-12-22 04:00:00 lmxmimihuhu

根据输入的日期(年月日)判断是星期几——golang实现

输入日期,如2018年11月07日,输出对应的星期数代码如下: // 历史上的某一天是星期几?未来的某一天是星期几? // 关于这个问题,最著名的计算公式是蔡勒(Zeller)公式。即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 // output: w: 0 - 周日; // 1 - 周一; // 2 - 周二; // 3 - 周三; // 4 - 周四; // 5 - 周五; // 6 - 周六; // 公式中的符号含义如下,w:星期; // c:世纪-1; // y:年(两位数); // m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算) // d:日;...阅读全文

博文 2018-11-08 00:34:44 逍遥子_

golang位运算符

位运算,是两个数字的二进制对应的值,每一位,进行运算,得出新值的过程 & = 两个数,每一位,同时都=1,则返回1,其余0。 | = 两个数,每一位,任意一位=1,则返回1,否则0。 ^ = 两个数,每一位,只有一位=1,则返回1,否则0 &^^ = 两个数,如果第二个数的某一位=1,则修改第一个数对应的位的值=0,否则第一个数对应的位数的值不变。 第一个数 0110 第二个数 1011 进行&运算 0010 进行|运算 1111 进行^运算 1101 进行|运算 0100 /** 6 0110 11 1011 & 0010 2 | 1111 15 ^ 1101 13 &^ 0100 4 */ func main() { fmt.Println(6 & 11) fmt.Println(6 |...阅读全文

博文 2018-07-26 20:34:54 luckyase

golang99道练习题之01

**1.题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?** **2.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 ** **3.程序源代码:** ```go package main import "fmt" func main() { for i := 1; i < 5; i++ { for j := 1; j < 5; j++ { for k := 1; k < 5; k++ { if (i != k) && (i != j) && (j != k) { fmt.Println("这个数是:", i, j, k) } } } } } ``...阅读全文

博文 2018-11-20 11:38:16 hdking

求黄金分割比小数点后无限位(大数据运算,Go+Java语言实现)

求黄金分割比小数点后无限位(Go+Java语言实现) 理论上给出的代码可以精确无限位,但事实上太精确的数据对人类是无效的。 下面的代码是否已经精确到了小数点后2000位精度未测试,但1000多位精度是正确的,只需要调整程序中的常量可以精确到你想要精确的位数。 这是运行时求得的2000位:(CSND不会自动换行) 0.61803398874989484820458683436563811772030917980576286213544862270526046281890244970720720418939113748475408807538689175212663386222353693179318006076672635443338908659593958290563832266131992...阅读全文

博文 2016-01-16 00:00:01 WAPWO

【面试题】计算某个整数 1 的位数,即 Hamming weight

编写一个函数,接收一个无符号整数,返回它拥有的“1”位数(也称为汉明权重,[Hamming weight](https://en.wikipedia.org/wiki/Hamming_weight))。 例如,32 位整数 '11' 的二进制表示为 `00000000000000000000000000001011`,所以函数应该返回3。 ```go // hammingWeight 计算 Hamming weight func hammingWeight(n uint32) int { } ``...阅读全文

线性复杂度选出第k小元素、中位数、最小的k个元素(golang实现)

封装成函数: //选出第k小元素,k为1~len(s) func SelectKthMin(s []int, k int) int { k-- lo, hi := 0, len(s)-1 for { j := partition(s, lo, hi) if j < k { lo = j + 1 } else if j > k { hi = j - 1 } else { return s[k] } } } //选出中位数(比一半的元素小,比另一半的大) func SelectMid(s []int) int { return SelectKthMin(s, len(s)/2) } //选出k个最小元素,k为1~len(s) func SelectKMin(s []int, k int) []i...阅读全文

博文 2017-09-03 07:05:00 imroc

golang99道练习题之13

**1.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。** **例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。** **2.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。** **3.程序源代码:** ```go package main import "fmt" func main() { for i := 1; i < 10; i++ { for j := 0; j < 10; j++ { for k := 0; k < 10; k++ { sum := i*100 + j*10 + k if sum == i*i*i+j*j*j+k*k*k { fmt.Println(sum) ...阅读全文

博文 2018-11-20 17:53:28 hdking

golang99道练习题之18

**1.题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 ** **2.程序分析:关键是计算出每一项的值。 ** **3.程序源代码: ** ```go package main import "fmt" func main() { var m, n, Sn, Tn = 1, 1, 0, 0 fmt.Print("请输入一个数字:") fmt.Scan(&m) fmt.Print("请输入位数:") fmt.Scan(&n) for i := 1; i <= n; i++ { Tn = Tn * 10 Tn = Tn + m Sn = Sn + Tn } fmt.Println...阅读全文

博文 2018-12-11 20:09:17 hdking

基数排序-Goalng语言

> 由于之前在golang中文社区没有查到radix-sort让我尴尬,就自己给出如下代码,如果不足也请大家指明 ```go import "strconv" func RadixSort(arr []int) []int{ if len(arr)<2{ fmt.Println("NO NEED TO SORT") return arr } maxl:=MaxLen(arr) return RadixCore(arr,0,maxl) } func RadixCore(arr []int,digit,maxl int) []int{ //核心排序机制时间复杂度 O( d( r+n ) ) if digit>=maxl{ return arr //排序稳定 } radix:=10 count:=...阅读全文

博文 2018-05-15 21:14:17 golanguage

POJ 1047 Round and Round We Go 循环数新解

题目描述: 给定一字符串表示的高精度数,判断它是否是可循环的。如果假设字符串num的长为n,则将num从1开始乘到n,如果每次得到的结果包含的字符元素都和a是相同的,则它是可循环的。 解题思路: 初看这一题,想到的解法是利用高精度数的乘,计算出num乘以1到n的结果,再与num进行对比。这种方法较为简单,可以得到正确的结果,但是效率并不是很理想。对于循环数,我们最常见到的是循环小数,而这一题的解法也是由此引申得出的。 初等数论里面有以下三个定理: 欧拉定理:设a、m为整数,m>1,(a,m)=1,则a^φ(m)≡1 (mod m)。 整数的次数:a、m为整数,m>1,(a,m)=1,k是使a^k≡1 (mod m)成立的最小正整数,则k叫做a对模m的次数。 次数定理:设a对模m的次数为k,n...阅读全文

博文 2016-02-05 07:00:01 furney

算法代码实现之选出第k小元素、中位数、最小的k个元素,Golang(Go语言)实现

封装成函数: //选出第k小元素,k为1~len(s)func SelectKthMin(s []int, k int) int { k-- lo, hi := 0, len(s)-1 for { j := partition(s, lo, hi) if j < k { lo = j + 1 } else if j > k { hi = j - 1 } else { return s[k] } }} //选出中位数(比一半的元素小,比另一半的大)func SelectMid(s []int) int { return SelectKthMin(s, len(s)/2)} //选出k个最小元素,k为1~len(k)func SelectKMin(s []int, k int) []int { ...阅读全文

博文 2016-03-02 22:00:01 QQ245671051

GoLang练习实例100之002----打印互不相同且重复数字的三位数

package main import ( "fmt" ) //题目:有四个数字:1、2、3、4,能组成多个互不相同且无重复数字的三位数?各是多少? func main() { num_S := []int{1, 2, 3, 4, 5} var num_Count int for i := range(num_S){ for y := range(num_S){ for z := range(num_S){ if (i!=z) && (i!=y) && (y!=z){ fmt.Println(i,y,z) num_Count ++ } } } } fmt.Println("总数为:", num_Count) ...阅读全文

博文 2018-03-20 00:33:04 不折腾难受斯基

链表表示数字相加 go语言版本

链表表示数字相加 go语言版本给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807package main import "fmt" import "strconv" import "reflect" type ListNode struct { data int next *ListNode } //转成字符串,数字 相加,再转成链表 func AddTwoNum(l1 *ListNode, l2 *ListNode) *ListNode ...阅读全文

博文 2019-10-14 22:03:22 雷顿学院

让我们一起啃算法----回文数

回文数(Palindrome-Number) 这是一个比较简单的题目,题干如下: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1: 输入: 121 输出: true示例 2: 输入: -121 输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3: 输入: 10 输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。来源:力扣 解题思路 按照题目的定义: 负数一定不是回文数,并且 [0,9] 的数一定是回文数。 其次,我们稍微延伸一下题目,如果判断一个字符串是否是回文字符串,我们会怎么做?常规思路就是设置两个指针 i 和 j 分别指向字符串的第一个字符和最后...阅读全文

博文 2020-04-26 10:32:44 三斤和他的朋友们

go实现“水仙花数”

题目: 打印出100-999中所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字 立方和等于该数本身。例如:153 是一个“水仙花数”,因为 153=1 的三次 方+5 的三次方+3 的三次方 我使用的是Go Modules 管理依赖方式引入下面的add包就可以了运行了 package add import ( "fmt" "strconv" ) func Sxhs() { var str string fmt.Scanf("%s", &str) var result = 0 fmt.Printf("%d \n", result) for i := 0; i < len(str); i++ { num := int(str[i] - '0') //字符串本身是ascii码 res...阅读全文

博文 2020-04-10 21:32:41 小兵

猜数字游戏初学版

package mainimport( "math/rand" "fmt" "time")var (n , n1 , n2 , s , s1 , s2 , x , y int)//////////////////////三位数的数字游戏 ////1.随时间生成一个三位数的数字 ////2.将判断的数字每一位取出来 ////3.封装一个方法 //// //////////////////////func test01(){ //电脑随时间生成了一个随机数 fmt.Println("《猜数字游戏》") rand.Seed(time.Now().UnixNano()) x = rand.Intn(1000) // fmt.Println("x = " , x) n = x / 100 // fmt...阅读全文

博文 2019-05-07 23:06:26 OverTime

golang刷LeetCode[0004] 寻找两个有序数组的中位数

题目 https://github.com/betterfor/leetcode-go/tree/master/algorithms/0004_Median_Of_Two_Sorted_Arrays 假定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m+n)) 。 你可以假定 nums1 和 nums2 不会同时为空。 示例1: nums1 = [1,3] nums2 = [2] 则中位数是 2.0 示例2: nums1 = [1,2] nums2 = [3,4] 则中位数 (2+3)/2=2.5 题解 1、暴力法 将两个数组合并,两个有序数组合并也是归并数组,然后根据奇偶数返回中位数。 func ...阅读全文

博文 2020-01-15 09:32:45 风云风雨

golang中数字字段的类型约定

我们常见的字段类型:有符号的:int,int8,int16,int32,int64;无符号的:uint8,uint16,uint32,uint64;其中int跟具体机器环境有关,表示32位或者64位有符号整型 取值范围: int32: -2147483648~2147483647 int64: -9223372036854775808~9223372036854775807 uint32: 0~4294967295 uint64: 0~18446744073709551615 一般如果不太关心取值范围的话,直接用int类型就行 如果求严谨就可以使用具体的位数类型,有一些常见的业务场景,我们一般约定 时间戳用int64或者uint64,如果用uint32存时间戳,最大时间为:2106-02-0...阅读全文

博文 2020-05-18 11:33:08 凯文不上班

让我们一起啃算法----两数相加

两数相加(Add-Two-Numbers) 这是 LeetCode 的第二题,题目挺常规的,题干如下: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807来源:力扣 解题思路 这个题目的解法类似我们小时候算两个多位数的加法:从低位开始相加,大于等于10时则取值的个位数,并向前进1。只不过现在多位数用链表来表示了并且最后的值用链表返回了而已。 根据上面...阅读全文

博文 2020-04-20 15:33:51 三斤和他的朋友们

Go 和 PHP 基于两组数计算相加的结果

文链接:go letcode,作者:三斤和他的喵 php 代码个人原创 两数相加(Add-Two-Numbers) 这是 LeetCode 的第二题,题目挺常规的,题干如下: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807来源:力扣 解题思路 这个题目的解法类似我们小时候算两个多位数的加法:从低位开始相加,大于等于10时则取值的个位数,并向前进1...阅读全文

博文 2020-04-16 20:32:42 hxd_

LeetCode|371. 两整数之和

题目描述 等级: 简单 不使用运算符 + 和 - ,计算两整数a 、b之和。 示例1: 输入: a = 1, b = 2 输出: 3 示例2: 输入: a = -2, b = 3 输出: 1 思路 对于位运算的考察。 在位运算中,异或操作获取的是两个数的无进位和,异或:相同为0,不同为1。如, 2^3 0010 ^ 0011 ------- 0001 我们知道,2+3=5,5的二进制是0101。前面已经知道了无进位和,下面获取进位的数:看a&b 2&b 0010 & 0011 -------- 0010 发现结果左移1位就是最终结果的进位数: 0010 << 1 = 0100 0100再异或0001: 0100 ^ 0001 ------- 0101 这样循环操作,直到进位数为0。 答案 f...阅读全文

博文 2019-12-06 11:32:40 clawhub