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

golang 声明常量

*声明一个常量 const MAX = 4096 *声明一个指定类型的常量 const LIMIT int16 = 1024 const LIMIT2 = int16(1024) *声明一组常量 const ( start = 0x1 resume = 0x2 stop = 0x4 ) *声明一组指定类型的常量 const ( start int8 = 0x1 resume int8 = 0x2 stop int8 = 0x4 ) *用iota简化上面的写法 const ( start int8 = 1 << iota resume stop ...阅读全文

博文 2015-05-10 12:00:03 guonaihong

golang append时slice len 和 cap

声明: 源slice= src 添加slice = app 结果slice=tar append时 len tar === len src + len app 1)如果len(src) + len(app) <= cap(src) cap tar = cap(src) 2)否则 a) len(src) + len(app) > 2* cap(src) cap tar = len(src) + len(app) b) cap(src) < len(src) + len(app) <= 2* cap(src) cap tar = 2* cap(src) data := make([]int, 10, 20) data[0] = 1 data[1] = 2 dataappend := make([...阅读全文

博文 2014-10-04 19:27:08 咖啡伴侣

make(map[int]string, 1) 这第二个参数 1是 map的大小?

在go的 包中显示make 第二个参数表示大小,我试着声明一个长度为1 的当长度超过1时 不应该换一块内存地址,重新存储?![111.png](https://static.studygolang.com/180130/de5e30f4c9cb18521dc9650645e2d3e5.png)![Screenshot 2018-01-30_21-17-09.png](https://static.studygolang.com/180130/99ef92273df2b4f71e62dfde99d0f874.png...阅读全文

Golang Struct 声明和使用

开发十年,就只剩下这套Java开发体系了 >>> Golang Struct 声明和使用 (adsbygoogle = window.adsbygoogle || []).push({}); function googleAdJSAtOnload() { var element = document.createElement("script"); element.src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"; element.async = true; document.body.appendChild(element); } if (window.addEventListener) { window.ad...阅读全文

博文 2018-09-23 01:33:17 coderminer

slices _ golang

Slices are a key data type in Go, giving a more powerful interface to sequences than arrays package main import ( "fmt" ) func main() { s := make([]string, 3) fmt.Println("emp:", s) s[0] = "a" s[1] = "b" s[2] = "c" fmt.Println("set : ", s) fmt.Println("get : ", s[2]) fmt.Println("len :", len(s)) s = append(s, "d") s = append(s, "e", "f") fmt.Printl...阅读全文

博文 2015-03-14 03:00:00 jackkiexu

How to serialize/unserialize type struct in GO

How to serialize/unserialize type struct in GO package main import ( "bytes" "encoding/gob" "fmt" "log" ) type Data struct { id int name string } func (d *Data) GobEncode() ([]byte, error) { w := new(bytes.Buffer) encoder := gob.NewEncoder(w) err := encoder.Encode(d.id) if err != nil { return nil, err } err = encoder.Encode(d.name) if err != nil { ...阅读全文

博文 2015-11-09 13:00:10 u012413865

go语言之变量声明

func main() { s := "a" fmt.Println(&s, s) s, i := "ab", 44 //s被重新赋值 fmt.Println(&s, s, &i, i) { s, i = "abc", 250 fmt.Println(&s, s, &i, i) s := 1000 //在代码块中,s被重新定义 fmt.Println(&s, s) } s = "abcd" fmt.Println(&s, s, &i, i)} 显示结果 0xc208000150 a0xc208000150 ab 0xc208000180 440xc208000150 abc 0xc208000180 2500xc208000188 10000xc208000150 abcd 0xc20800...阅读全文

博文 2014-10-08 03:00:01 yjzhg

【GO语言】MAP

//声明结构 type person struct { name string } //声明MAP变量 var persondb map[string]person //创建这个变量 persondb = make(map[string]person) //变量赋值 persondb["1"] = person{"cc"} persondb["2"] = person{"xiaoming"} //历遍访问MAP变量 for i, j := range persondb { fmt.Println(i, j) ...阅读全文

博文 2016-02-20 12:00:01 cxm19830125

Go错误处理?

经常看到这种写法 ``` a, err := xxx if err != nil { // } b, err := xxx if err != nil { // } ``` 这样不会导致重复声明err么?如果这样写: ``` if a, err := xxx; err != nil { // } ``` a又无法在外界访问,定义函数CheckErr同样无法解决重复声明问题,难道需要不断 err1, err2, err3 ....有没有好的处理方式? ...阅读全文

Go语言实战笔记(八)| Go 函数方法

在Go语言中,函数和方法不太一样,有明确的概念区分。其他语言中,比如Java,一般来说,函数就是方法,方法就是函数,但是在Go语言中,函数是指不属于任何结构体、类型的方法,也就是说,函数是没有接收者的;而方法是有接收者的,我们说的方法要么是属于一个结构体的,要么属于一个新定义的类型的。 函数 函数和方法,虽然概念不同,但是定义非常相似。函数的定义声明没有接收者,所以我们直接在go文件里,go包之下定义声明即可。 1 2 3 4 5 6 7 8 func main() { sum := add(1, 2) fmt.Println(sum) } func add(a, b int) int { return a + b } 例子中,我们定义了add就是一个函数,它的函数签名是func add(a...阅读全文

博文 2017-08-25 07:47:02 飞雪无情

函数返回值名

```go func test1() (data string, err error) { data, err := "abc", errors.New("test") return data, err } func test2() (data string, err error) { fd, err := os.Open("tttt.go") if err != nil { panic("error") } } ``` 函数返回值名即 data, err 到底起到一个什么作用?减少声明么? ```go data, err := "abc", errors.New("test") // 重复声明错误 ...阅读全文