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

深入理解GO时间处理(time.Time)

1. 前言时间包括时间值和时区, 没有包含时区信息的时间是不完整的、有歧义的. 和外界传递或解析时间数据时, 应当像HTTP协议或unix-timestamp那样, 使用没有时区歧义的格式, 如果使用某些没有包含时区的非标准的时间表示格式(如yyyy-mm-dd HH:MM:SS), 是有隐患的, 因为解析时会使用场景的默认设置, 如系统时区, 数据库默认时区可能引发事故. 确保服务器系统、数据库、应用程序使用统一的时区, 如果因为一些历史原因, 应用程序各自保持着不同时区, 那么编程时要小心检查代码, 知道时间数据在使用不同时区的程序之间交换时的行为. 第三节会详细解释go程序在不同场景下time.Time的行为. 2. Time的数据结构go1.9之前, time.Time的定义为 ty...阅读全文

博文 2017-12-18 05:57:14 hanjm

go语言 strconv.ParseInt 的例子

golang strconv.ParseInt 是将字符串转换为数字的函数,功能灰常之强大,看的我口水直流.func ParseInt(s string, base int, bitSize int) (i int64, err error)参数1 数字的字符串形式参数2 数字字符串的进制 比如二进制 八进制 十进制 十六进制参数3 返回结果的bit大小 也就是int8 int16 int32 int64代码: package main import ( "strconv" ) func main() { i, err := strconv.ParseInt("123", 10, 32) if err != nil { panic(err) } println(i) ...阅读全文

博文 2015-01-22 13:00:01 chuanheng

Golang时区设置

在部署PHP项目的时候,在php的入口文件添加一行: date_default_timezone_set('PRC'); 时间格式化输出的时区为东八区北京时间,无需关系系统所在时区。 在Go语言上,go语言的time.Now()返回的是当地时区时间,直接用: time.Now().Format("2006-01-02 15:04:05") 输出的是当地时区时间。 go语言并没有全局设置时区这么一个东西,每次输出时间都需要调用一个In()函数改变时区: var cstSh, _ = time.LoadLocation("Asia/Shanghai") //上海 fmt.Println("SH : ", time.Now().In(cstSh).Format("2006-01-02 15:04:...阅读全文

博文 2018-05-23 16:33:07 hell0cat

golang实现unicode码和中文之间的转换

将中文转换为unicode码,使用golang中的strconv包中的QuoteToASCII直接进行转换,将unicode码转换为中文就比较麻烦一点,先对unicode编码按\u进行分割,然后使用strconv.ParseInt,将16进制数字转换Int64,在使用fmt.Sprintf将数字转换为字符,最后将其连接在一起,这样就变成了中文字符串了。 参考代码如下: 1 package main 2 3 import ( 4 "fmt" 5 "strconv" 6 "strings" 7 ) 8 9 func main() { 10 sText := "中文" 11 textQuoted := strconv.QuoteToASCII(sText) 12 textUnquoted := t...阅读全文

博文 2016-06-29 02:00:01 borey

golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换

golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换 #string到intint,err:=strconv.Atoi(string)#string到int64int64, err := strconv.ParseInt(string, 10, 64)#int到stringstring:=strconv.Itoa(int)#int64到stringstring:=strconv.FormatInt(int64,10) #int到int64,把int先转成字符串再转成int64,返回带err参数的需要忽略掉s := strconv.Itoa(int)s64,_ := strconv.ParseInt(s,10,...阅读全文

博文 2018-06-07 15:30:02 zdz8207

golang二进制bit位的常用操作

package main import ( "fmt" "github.com/imroc/biu" ) /** golang二进制bit位的常用操作,biu是一个转换二进制显示的库 mengdj@outlook.com */ func main() { var( /** 1个字节=8个二进制位,每种数据类型占用的字节数都不一样 注意位操作千万不要越界了,如某个类型占8个bit位,偏移时候不要超过这个范围 */ a uint8=30 ) //a输出结果:00011110 fmt.Println(biu.ToBinaryString(a)) /** 将某一位设置为1,例如设置第8位,从右向左数需要偏移7位,注意不要越界 1<<7=1000 0000 然后与a逻辑或|,偏移后的第8位为1,逻辑|...阅读全文

博文 2018-08-17 12:30:00 mengdejun

Golang二进制转换十进制代码

Golang二进制转换十进制代码,使用 container/list 实现出入栈操作,完成转换。 二进制转十进制的方法是:‍‍从右到左的取数值乘以2的N次幂,依次相加,N为数值在二进制中的位数。‍‍ package main /** 二进制转换成十进制 核心: 入栈、出栈、类型转换 sum += int(v-48) * int(math.Pow(2, N)) **/ import ( "container/list" "fmt" "math" ) func main() { stack := list.New() var input string var sum int var stnum, conum float64 = 0, 2 fmt.Printf("请输入一段二进制数字:") fmt...阅读全文

博文 2015-06-05 14:00:01 一曲

GoLang基础语法

变量定义 从hello world入手 package main import "fmt" func main() { fmt.Println("Hello World") } 控制台输出: Hello World 变量默认值 package main import "fmt" func main() { var a int var s string fmt.Println(a, s) } 控制台输出: 0 注:s为"",故打印出来没有效果 如果想让""字符串显示,则代码如下: package main import "fmt" func main() { var a int var s string fmt.Println(a, s) fmt.Printf("%d %q\n", a, s)...阅读全文

博文 2018-09-23 21:34:39 等她下班

常用位操作技巧(Golang)

1,判断奇偶 for i := 0; i < 100; i++ { if i % 2 == 0 { println(i) } if i & 0x1 == 0 { println(i) } } 2,交换两个数 func Swap(a, b *int) { if *a^*b != 0 { temp := *a *a = *b *b = temp } } func Swap(a, b *int) { if *a^*b != 0 { *a = *a + *b *b = *a - *b *a = *a - *b } } func Swap(a, b *int) { if *a^*b != 0 { *a ^= *b *b ^= *a *a ^= *b } } 3,交换符号 func ExcangeSym...阅读全文

博文 2014-11-14 08:00:01 xlplbo

golang printf中的%c,%d,%u.都分别代表输出的是什么类型的?

%表示格式化字符串输出目前printf支持以下格式的输出,例如:printf("%c",a);输出单个字符。printf("%d",a);输出十进制整数。printf("%f",a);输出十进制浮点数.printf("%o",a);输出八进制数。printf("%s",a);输出字符串。printf("%u",a);输出无符号十进制数。printf("%x",a);输出十六进制数...阅读全文

博文 2017-07-10 08:07:47 Robinbing

Go语言 操作二进制文件

二进制文件的内容: Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 00000000 12 31 23 12 31 22 31 23 12 31 22 22 22 22 22 22 1# 1"1# 1"""""" 00000010 22 22 22 12 23 12 23 00 00 00 00 00 00 00 00 00 """ # # 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 0...阅读全文

博文 2015-06-17 23:02:25 king1076

golang 二进制操作

http://blog.guoqiangti.com/?p=538 以前很少对二进制进行操作,在看effective go的时候,好像没有看到关于二进制操作符的说明.今天在看其他源码的时候,看到一些二进制操作符,不知道他的意思,所以就查查资料,温习一下. 按位或 | .| (按位或):【解义】对两个整数的二进制形式逐位进行逻辑或运算,原理为:1|0=1,0|0=0,1|1=1,0|1=1 等。 4|-5: 4的二进制形式为:00000000 00000000 00000000 00000100, -5的二进制形式为:11111111 11111111 11111111 11111011, 逐位进行逻辑或运算:11111111 11111111 11111111 11111111,即得到-1....阅读全文

博文 2016-03-16 09:00:02 leonpengweicn

Go语言fmt.Printf的使用

Fmt包 import "fmt" 简介 ▾ Package fmt包含有格式化I/O函数,类似于C语言的printf和scanf。格式字符串的规则来源于C但更简单一些。 输出 格式: 一般: %v 基本格式的值。当输出结构体时,扩展标志(%+v)添加成员的名字。the value in a default format. when printing structs, the plus flag (%+v) adds field names %#v 值的Go语法表示。 %T 值的类型的Go语法表示。 %% 百分号。 布尔型: %t 值的true或false 整型: %b 二进制表示 %c 数值对应的Unicode编码字符 %d 十进制表示 %o 八进制表示 %q 单引号 %x 十六进制表示,...阅读全文

博文 2015-10-28 21:00:32 fyxichen

golang byte 操作

21天精品区块链课程免费学习,深入实战行家带路,助力开发者轻松玩转区块链! >>> byte数组转int // bytes to int 32 func bytesTo32Int(b []byte) int { buf := bytes.NewBuffer(b) var tmp uint32 binary.Read(buf, binary.BigEndian, &tmp) return int(tmp) } // bytes to int 16 func bytesTo16Int(b []byte) int { buf := bytes.NewBuffer(b) var tmp uint16 binary.Read(buf, binary.BigEndian, &tmp) return in...阅读全文

博文 2018-09-01 14:33:13 Robin3D

golang 二进制转十进制实现方式

golang 二进制转十进制实现方式 直接上代码 package main import ( "fmt" "math" ) func StringToIntArray(input string) []int { output := []int{} for _, v := range input { output = append(output, int(v)) } for i, j := 0, len(output)-1; i < j; i, j = i+1, j-1 { output[i], output[j] = output[j], output[i] } return output } func getInput(input string) <-chan int { out := m...阅读全文

博文 2015-07-14 03:00:00 jerrychen

GO代码实现判断字符编码格式及编码格式转换(utf-8、gbk)

引入 最近使用go开发http服务,在使用http进行通信时,发现接收报文中如果包含中文字符(非utf-8编码),直接使用go将二进制格式数据转换成字符串文本会出现乱码的情况。因为golang中的字符编码格式是utf-8,如果是其他类型的编码,例如gbk,那么直接转码后出现乱码也就理所当然了。 GBK编码格式 为了更好地说明GBK的编码方式,首先在这里先说明一下ASCII码,GB2312, GBK, GB18030的兼容性关系: 各种编码兼容关系.png ASCII编码使用一个字节的低7位(范围0-127)来表示共128个字符,最高位为0,即 0XXX_XXXX GB2312为了能表示更多字符,使用单字节和双字节来进行编码,单个字节编码与ASCII完全一样,也就兼容了ASCII码,双字节编码...阅读全文

golang http content_type

1.如果没有指定content_type的话,http包会查看文件的前512 byte,从而推测文件类型。 2.常用类型为: text/html 返回网页格式。text/plain 返回文本格式,也就说不会解析html。application/octet-stream 一般都是二进制格式,可用来下载。(这个有点复杂,不是很清楚) image/***audio/***video/**...阅读全文

博文 2015-06-17 20:17:44 rufidmx

Go 的 rune byte 和 string

- `rune` 、 `byte` 和 `string` 都是 `Go` 的内置类型 ----- - `byte` - byte是`uint8`的别名,在所有方面都等同于`uint8` - 按惯例,它用于区分**字节值**和**8位无符号整数值**。 - `rune` - `rune`是`int32`的别名,在所有方面都等同于`int32` - 按惯例,它用于区分**字符值**和**整数值**。 - `string` - string是所有**8位字节字符串**的集合,通常但不一定代表UTF-8编码的文本 - 字符串可能为空,但是不能为 `nil` - 字符串类型的值是不可变的 - 由上面得解释我们大概可以明白 - `rune` 可以表示得比 `byte` 多 - `string` 类型的底...阅读全文

golang最小docker镜像制作

因为go语言编译好之后为可执行文件,不需要依赖go语言环境即可运行,所以可以在带go语言得docker镜像中编译,编译完成之后将二进制文件拷贝到一个不带go环境的较小的镜像即可,这里采用alpine镜像作为运行的镜像 FROM golang:alpine AS development WORKDIR $GOPATH/src COPY . . RUN go build -o app FROM alpine:latest AS production WORKDIR /root/ COPY --from=development /go/src/app . EXPOSE 8080 ENTRYPOINT ["./app"] 这样制作完成的镜像只有8.5M的大小,其中alpine基础包5.53...阅读全文

博文 2019-05-27 17:34:52 褪色的记忆1994

go语言序列化对象为二进制

package main import ( "bytes" "encoding/binary" "fmt" ) type Register struct { ACTION int32 SID int32 } func ExampleWrite() []byte { buf := new(bytes.Buffer) var info Register info.ACTION = 20004 info.SID = 6 err := binary.Write(buf, binary.LittleEndian, info) if err != nil { fmt.Println("binary.Write failed:", err) } fmt.Printf("% x\n", buf.Bytes(...阅读全文

博文 2015-06-17 23:07:25 body100123

golang(Go语言) byte/[]byte 与 二进制形式字符串 互转

效果 把某个字节或字节数组转换成字符串01的形式,一个字节用8个”0”或”1”字符表示。比如: byte(3) –> “00000011” []byte{1,2,3} –> “[00000001 00000010 00000011]” “[00000011 10000000]” –> []byte{0x3, 0x80} 开源库 biu 实际上我已经将其封装到一个开源库了(biu),其中的一个功能就能达到上述效果: //byte/[]byte -> string bs := []byte{1, 2, 3} s := biu.BytesToBinaryString(bs) fmt.Println(s) //[00000001 00000010 00000011] fmt.Println(biu....阅读全文

博文 2016-10-03 04:00:02 QQ245671051

二进制求和

给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 输入: a = "11", b = "1" 输出: "100" 示例 2: 输入: a = "1010", b = "1011" 输出: "10101" Golang解决: package main import ( "fmt" ) func addBinary(a string, b string) string { length := len(b) if len(a) > len(b) { length = len(a) } r := make([]byte, length) var extra byte for i := 0; i < length; i++ { var dib...阅读全文

博文 2020-02-27 07:32:43 CancerTiN

Go语言fmt包Printf方法详解

Go语言的标准输出流在打印到屏幕时有些参数跟别的语言(比如C#和Java)不同,下面是我整理的一些常用的格式化输入操作。 General %v 以默认的方式打印变量的值 %T 打印变量的类型 Integer %+d 带符号的整型,fmt.Printf("%+d", 255)输出+255 %q 打印单引号 %o 不带零的八进制 %#o 带零的八进制 %x 小写的十六进制 %X 大写的十六进制 %#x 带0x的十六进制 %U 打印Unicode字符 %#U 打印带字符的Unicode %b 打印整型的二进制 Integer width %5d 表示该整型最大长度是5,下面这段代码 12 fmt.Printf("|%5d|", 1) fmt.Printf("|%5d|", 1234567) 输出结...阅读全文

博文 2017-09-21 12:17:25 johng

Go打包二进制文件

背景 众所周知,go语言可打包成目标平台二进制文件是其一大优势,如此go项目在服务器不需要配置go环境和依赖就可跑起来。 操作 需求:打包部署到centos7笔者打包环境:mac os方法:进入main.go所在目录,输入如下命令,当前目录便会生成main的可执行文件 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go Windows平台打包到Linux执行不一样,需要输入如下命令 set CGO_ENABLED=0 set GOOS=linux set GOARCH=amd64 go build CGO_ENABLED 表示不使用cgo GOOS 表示目标平台系统(Windows,linux,darwin「mac os」等等) GO...阅读全文

博文 2020-03-11 00:32:52 赵栩彬

go语言编码规范

1.代码规范 类型标识例子 int i / I iCount、ICount bool b / B bShow、BShow string s / S sName、SName uint u / U uColor、UColor float f / F fPlace、FPlace pointer p / P *pName、*PName struct stc/Stc stcPerson、StcPerson array arr / Arr arrHero、ArrHero slice slc / Slc sliHero、SliHero map map / Map mapPerson、MapPerson const 全部大写 const PI float32 = 3.14 interface I IMyIn...阅读全文

博文 2014-10-04 19:26:47 fancyzhen

golang使用 mongo

生成objectid i := bson.NewObjectId() c.Insert(bson.M{"_id": i, "foo": "bar"}) golang 使用 mongo gte lte 功能 searchErr = SearchReading(bson.M{"k": key, "t": bson.M{"$gte": start, "$lte": end}}, limit)不能直接写 searchErr = SearchReading(bson.M{"k": key, "t":'{"$gte": start, "$lte": end}'}, limit) 基础小工具 golang md5 计算 func genQueryMd5(str string) string { hash ...阅读全文

博文 2016-01-05 03:00:05 shenguanpu

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

【Golang】time的时区问题

先上代码 package main import ( "fmt" "time" ) var ( layout string = "2006-01-02 15:04:05" startTime string = "2020-03-25 17:00:00" endTime string = "2020-03-25 19:00:00" ) func main() { start, _ := time.Parse(layout, startTime) fmt.Printf("initTime is %v\n", start) //initTime is 2020-03-25 17:00:00 +0000 UTC end, _ := time.Parse(layout, endTime) fmt.Pr...阅读全文

博文 2020-03-26 17:33:09 冉小妹Ran

golang中使用MD5加密的两种方法

package main import ( "crypto/md5" "fmt" "io" ) func main() { str := "abc123" //方法一 data := []byte(str) has := md5.Sum(data) md5str1 := fmt.Sprintf("%x", has) //将[]byte转成16进制 fmt.Println(md5str1) //方法二 w := md5.New() io.WriteString(w, str) //将str写入到w中 md5str2: = fmt.Sprintf("%x", w.Sum(nil)) //w.Sum(nil)将w的hash转成[]byte格式 fmt.Println(mdtstr2) } 打印结果...阅读全文

博文 2017-03-05 13:56:04 skh2015java

golang 简单实现的36进制

概述 36进制:使用 [0-9,a-z] 描述,逢36进一,即称之为36进制 var num2char = "0123456789abcdefghijklmnopqrstuvwxyz" 典型应用:汽车号码牌,比如: 京 B0540Z;顺序生成序号等 进制转换规则参考16进制与10进制转换,大体如下: 10进制转36进制,用10进制数除了36,取余数得最低1位,然后把商继续除36,得第二位,直到商为0。举例: 126110 1261 除 36 余数 35 (对应 Z),商 1 1 除 36 余数 1 (对应1),商 0 结束 得到 (Z1)36 36进制转10进制,36进制数按权展开,从右边第一个数开始,每一个乘以16的n次方,n从0开始,每次递增1,然后得出来的每个数相加即是十进制数。举例:...阅读全文

博文 2019-05-20 18:34:41 勤劳一沙鸥

常用位操作技巧(Golang)

1,判断奇偶 for i := 0; i < 100; i++ { if i % 2 == 0 { println(i) } if i & 0x1 == 0 { println(i) } } 2,交换两个数 func Swap(a, b *int) { if *a^*b != 0 { temp := *a *a = *b *b = temp } } func Swap(a, b *int) { if *a^*b != 0 { *a = *a + *b *b = *a - *b *a = *a - *b } } func Swap(a, b *int) { if *a^*b != 0 { *a ^= *b *b ^= *a *a ^= *b } } 3,交换符号 func ExcangeSym...阅读全文

博文 2014-11-14 14:00:01 seago123

Go中的bit位和位运算符

一.二进制长什么样 bit比特是计算机的最小单元,是一个二进制位1或者0 t.Log("start") t.Logf("%b", 0) //0 t.Logf("%b", 1) //1 t.Logf("%b", 2) //10 t.Logf("%b", 3) //11 /* int是带符号的,表示范围是:-2147483648到2147483648,即-2^31到2^31次方。 uint则是不带符号的,表示范围是:2^32即0到4294967295。 */ var one uint one = 10000 t.Logf("%b", one) //10011100010000 13位,uint最多是32位 二.运算符 主要有下面几种运算符 & 位运算 AND | 位运算 OR ^ 位运算 XOR...阅读全文

位运算计算(go语言)

符号 二进制表示 十进制表示 0110 6 1011 11 & 0010 (上下都是1的话才是1,否则是0) 前后顺序不管,类似加法:1+2=2+1 2 | 1111 (上下都是0的话才是0,否则是1) 前后顺序不管,类似加法:1+2=2+1 15 ^ 1101 (上下数字不一样的话才是1,一样的话是0)前后顺序不管,类似加法:1+2=2+1 13 &^ 0100 (下面的数字是1,则为0,下面的数字为0,则为上面的数字)前后顺序不同结果不同,类似减法:1-2不等于2-1 方法2:先将下面的1011取反为0100,将取反完的0100和上面0110进行&运算,也可得到0100 4 关于&^的计算 上面的数字是6,二进制表示为: 0 1 1 0 下面的数字是11,二进制表示为: 1 0 1 1 ...阅读全文

博文 2014-10-04 19:26:44 waynehu

go的protobuffer安装

windows环境下: 1.首先,必须先的有go,默认安装在了C:\Go 2.然后下载protoc,https://code.google.com/p/protobuf/downloads/list,下一个二进制文件即可,为了方便,可以直接放到C:\GO\bin里面 3.配置GOPATH,这个就是你go工程的地方,应该早配置好了,比如D:\project\xxx 4.cmd里运行go get -u code.google.com/p/goprotobuf/{proto,protoc-gen-go},貌似win下面比较坑,会报错,所以可以分开输入go get -u code.google.com/p/goprotobuf/proto和go get -u code.google.com/p/go...阅读全文

博文 2014-10-23 14:00:01 esrrhs

Golang 之 Base62 编码

Base62 编码用62个可见字符来编码信息,也就是所谓的62进制,可用于缩短地址之类的。实现起来也很简单。当然,这个实现跟别人家的有可能不一样,反正自己能编能解就行。 package main import ( "math" "strings" ) const CODE62 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" const CODE_LENTH = 62 var EDOC = map[string]int{"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9,"a":10,"b":11,"c":12,"d":13,"e":14,"...阅读全文

博文 2016-08-03 13:00:00 qufo

golang 类型转换

仅作记录,以便以后用到时查看方便。 字符串与整形: //string to 10进制int64 i,err := strconv.ParseInt(string, 10, 64) //int64 to string fmt.Sprintf("%d",int64)//我一般用这种方式 s := strconv.FormatInt(int64,10)//查找资料后得知这种方式比较正规 //string to int i, err := strconv.Atoi(string) //int to string s := strconv.Itoa(int...阅读全文

博文 2016-04-11 21:00:02 u013401219

beego orm中时区的问题

先看简化后代码,下面只列出main函数 func main() { t := "2017-01-19 00:00:00" o := orm.NewOrm() qb, _ := orm.NewQueryBuilder("mysql") sql := qb.Select("COUNT(*)").From("test").Where("create_time > ?").String() o.Raw(sql, t).Exec() o.QueryTable("test").Filter("create_time__gt", t).Count() } 这么看的话感觉两个SQL应该是相同的: [ORM] - 2017-01-19 19:28:02 - [Queries/default] - [ OK /...阅读全文

博文 2017-02-09 06:00:23 冥灭

fmt.Printf %* 格式化输出映射表

%d : decimal integer %x %o %b : integer in hexadecimal(十六进制) octal(八进制) binaery(二进制) %f %g %e:floating-point number: 3.141593 3.141592653589793 3.141593e+00 %t: boolean:true or false %c: rune(Unicode code point) %s: string %q: quoted string "abc" or rune 'c' %v: any value in a natural format %T: type of any value fmt....阅读全文

IP地址转化为二进制数

``` package main import ( "fmt" "strconv" "strings" ) /* IP地址转化为二进制数 */ func main() { addrInt := ipAddrToInt("192.168.8.152") /* 十进制转化为二进制 */ c := strconv.FormatInt(addrInt, 2) fmt.Println("c:", c) /* 二进制转化为十进制 */ d, err := strconv.ParseInt(c, 2, 64) fmt.Println("d:", d, err) } func ipAddrToInt(ipAddr string) int64 { bits := strings.Split(ipAddr, "...阅读全文

博文 2017-11-09 01:25:51 luominggao123

Go by Example: Hello World

我们第一个程序将打印出经典消息“Hello world”。这里是全部的源码 package main import "fmt" func main() { fmt.Println("hello world") } 为了运行程序,将代码写入 hello-world.go文件。使用go run 命令执行。$ go run hello-world.go hello world 有时候我们想要将我们的程序编译出二进制程序。我们可以使用go build命令实现该功能。 $ go build hello-world.go $ ls hello-world hello-world.go 我们可以直接执行这个编译好的二进制文件。$ ./hello-world hello world现在我们会运行和编译一个基...阅读全文

博文 2014-11-18 21:00:01 codemanship