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

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

golang 中 reflect 简单用法

package main import ( "fmt" "reflect" ) type Person struct { Name string Age int } func (p Person) GetName() string { return p.Name } func (p Person) SetName(s string) { p.Name = s } func main() { a := &Person{"Name", 1} t := reflect.TypeOf(*a) //必须取值,否则类型为空 fmt.Println(t.Name()) v := reflect.ValueOf(a).Elem() //a需要是引用 k := v.Type() for i := 0; i <...阅读全文

博文 2016-09-07 05:00:14 su_sai

golang和java的byte数组相互转换

golang和java中byte取值范围不一样 o(╯□╰)o,这里是个坑 golang定义如下 // byte is an alias for uint8 and is equivalent to uint8 in all ways. It is // used, by convention, to distinguish byte values from 8-bit unsigned // integer values. type byte byte java定义如下 public final class Byte extends Number implements Comparable { public static final byte MIN_VALUE = -128; publi...阅读全文

博文 2016-10-06 08:00:06 hai046

[Go] --- map

Email : hahayacoder@gmail.com Go语言中有一种好用的数据类型叫map(映射),相当于C++中的哈希表,map用起来很简单,很C++中的使用大同小异,下面就通过实际的代码来演示Go语言中map的使用 package main import "fmt" func main() { //map哈希表 //使用map创建一个空的map string是键 int是指 m := make(map[string]int) m["one"] = 1 m["two"] = 2 m["three"] = 3 //输出map 顺序不一样 fmt.Println(m) //输出map长度 fmt.Println(len(m)) //从map中取值 value := m["two"] f...阅读全文

博文 2015-06-17 23:08:21 qiurisuixiang

golang 中 reflect 简单用法

package main import ( "fmt" "reflect" ) type Person struct { Name string Age int } func (p Person) GetName() string { return p.Name } func (p Person) SetName(s string) { p.Name = s } func main() { a := &Person{"Name", 1} t := reflect.TypeOf(*a) //必须取值,否则类型为空 fmt.Println(t.Name()) v := reflect.ValueOf(a).Elem() //a需要是引用 k := v.Type() for i := 0; i <...阅读全文

博文 2016-08-17 15:00:05 su_sai

go map操作需要注意的地方

map 数据直接赋值,或者作为函数参数传递时是 指针传递, 修改其中一个则会修改全部变量数据 func main() { var s_map = make(map[int]int) for i := 0; i <= 5; i++ { s_map[i] = i } fmt.Println(s_map) s_map2 := s_map s_map2[10] = 100 fmt.Println(s_map) fmt.Println(s_map2) test_map(s_map) fmt.Println(s_map) fmt.Println(s_map2) } 输出: map[0:0 1:1 2:2 3:3 4:4 5:5] map[0:0 1:1 2:2 3:3 4:4 5:5 10:100] m...阅读全文

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

Go-iota

要点 用const定义常量 iota 表示取值为0(const关键字)所在行,后续常量依次加1 iota 用来表示递增的数列,用法较多,参考下面的示例代码。 示例代码 package main import ( "fmt" ) /* The Go Programming Language. 3.6 Constants When a sequence of constants is declared as a group, the right-hand side expression may be omitted for all but the first of the group, implying that the previous expression and its type shou...阅读全文

博文 2016-11-20 03:00:02 u013344915

golang 碎片整理 之 指针

golang中保留了C中的值和指针的区别,但对于指针的繁琐用法进行了简化,引入了"引用"的概念,所以在go语言中,你不用担心因为直接操作内存而引起各式各样的错误。运算符只有 & 和 ,一个是取地址一个是取值(解析地址)。 func main(){ var i int i = 1 var p *int p = &i fmt.Printf("i=%d,p=%d,*p=%d\n",i,p,*p) *p =2 fmt.Printf("i=%d,p=%d,*p=%d\n",i,p,*p) i = 3 fmt.Printf("i=%d,p=%d,*p=%d\n",i,p,*p) } output:i=1,p=824634302464,p=1i=2,p=824634302464,p=2i=3,p=8246...阅读全文

博文 2019-05-03 00:35:41 霍帅兵

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 凯文不上班

golang 关于正则的使用

正则验证 package main import "regexp" func main(){ account:="dsddasda12" match,_:=regexp.MatchString(`^[a-z\d+]{6,15}$`,account) if match{ fmt.Println("ok") }else{ fmt.Println("fail") } } 正则取值 package main import "regexp" func main(){ account:="dsddasda12aaasa" reg:= regexp.MustCompile(`^([a-z]+).\d+.(\w+)`) attr:=reg.FindStringSubmatch(account) fmt.Pr...阅读全文

博文 2020-05-09 19:32:42 顶尖少爷

leetcode_13

Golang: 思路: 首先,用一个map来存储字母和对应的数值,然后依次读取字符串里的字符,然后去map里寻值。根据规则,我们在对s的第i位取值时需要考虑第i+1位的情况 func romanToInt(s string) int{ res:=0 r2i:= map[byte]int{'I': 1, 'V': 5,'X':10,'L':50,'C':100,'D':500,'M':1000} for i:=0; i阅读全文

博文 2020-01-21 17:32:40 淳属虚构