美文网首页
Go 几个语法笔记

Go 几个语法笔记

作者: 死鱼 | 来源:发表于2020-08-04 14:21 被阅读0次

动态数组的用法:

在Go里面的动态数组其实是切片,比如一个整型数组的基本用法如下

初始化

var arr []int
// 创建一个容量为cap,长度为len的切片arr1
arr1 :=make([]int,len,cap)
// 或者直接长度,默认容量就是长度
arr1 := make([]int, len)

插入元素(append其实就是合并后面的东西)

arr = append(arr, element)

拷贝数据。(copy其实就是把后面的东西覆盖到前面吧?)

// 拷贝arr的内容到arr1
copy(arr1, arr)

获取切片信息

// 获取长度
length = len(arr)
// 获取容量
c = cap(arr)

切数据出来

// 获取中间一段,比如拿下标1(包含1),到下标4(不包含4)
res = arr[1:4]
// 不简化地拿下标1(包含1),到结尾
res = arr[1, len(arr)]

删除切片index位元素(本质就是合并不删除的部分,需要注意首位和末尾的问题)

arr = append(arr[:index], arr[index+1:])

hashMap用法

使用语言当然不能不知道hashMap怎么操作,Go中有专门的map使用。

初始化一个 key为字符串,value为整型的map

hashMap := make(map[string]int)
// or
var hashMap map[string]int

删除map里面的key元素

delete(hashMap, key)

判断key是否被写入

value, isExists := hashMap[key]
return isExists 

遍历

for key:= range hashMap {
    value := hashMap[key]
}

JSON用法

Go中有专门提供JSON的原生库,用法如下:

type Person struct {
   name string
   age int
}

person := Person{
  name: "deadfish",
  age: 18,
}

res, err := json.Marshal(person)
if err != nil {
   // ...
}

return string(res) // 结果强转即可

当然嵌套也是必须的。以下代码接上方

map中每个元素后面都要加逗号,比较规范。

type Group struct {
    persons map[string]Person
    number int
}

persons := make(map[string]Person)
persons[person.name] = person

group := Group{
    persons: persons,
    number: 1,
}
fmt.Println(group.persons)

字符串处理

Go的一些字符串和整型互换,切割之类的操作

字符串和整型互转:

int = strconv.Atoi(str)
str = strconv.Itoa(int)

字符串切割(byte互用)

如何把字符串切割出来处理,以及byte的互用

str = "abcdef"
byte = str[0: 2] // ab byte
newStr = string(byte) // ab string

join字符串数组

把一个数组合并成一个字符串

strArray := []string
str = strings.join(strArray, "连接的字符")

split分割字符串

把字符串分割成若干个子切片

str = "abaccad"
strArray = string.split(str, "a") // ["b", "cc", "d"]

相关文章

  • Go 几个语法笔记

    动态数组的用法: 在Go里面的动态数组其实是切片,比如一个整型数组的基本用法如下 初始化 插入元素(append其...

  • Go学习笔记--Go语法

    将两个(或更多)语句放在一行书写,它们 必须用分号 (’;’) 分隔。一般情况下,你不需要分号。 init函数和m...

  • go语言有哪些优势

    1、学习曲线容易 Go语言语法简单,包含了类C语法。因为Go语言容易学习,所以一个普通的大学生花几个星期就能写...

  • beego 模版语法

    beego 模板语法指南 本文讲述 beego 中使用的模板语法,与 go 模板语法基本相同。 基本语法 go 统...

  • (四)go语言函数&参数传递

    go语言函数 基本语法 例子 go语言参数传递

  • Go 语法基础--学习笔记

    安装以及基本语法参考官方文档即可。 入门资源分享: Go 编程基础::无闻录制的新手入门视频教程 Go入门指南 :...

  • go学习笔记(三)——语法

    1.变量 变量是每种语言都不可或缺的声明方式,go提供了以下几种声明方式 需要注意的是,在go语言中声明的变量如果...

  • [笔记]go语言基础语法

    0.基本语法结构 1、 变量 变量的声明和初始化 go语言的变量声明需要使用var一下,或者使用海象运算符 变量类...

  • Protocol buffer

    语法介绍 protoc --go_out=. --go-grpc_out=. api.proto--go_out ...

  • Go语言开发资料收集

    【Go 边看边练 -《Go 学习笔记》】系列Go 边看边练 -《Go 学习笔记》系列(一)- 变量、常量Go 边看...

网友评论

      本文标题:Go 几个语法笔记

      本文链接:https://www.haomeiwen.com/subject/dkasrktx.html