zoukankan      html  css  js  c++  java
  • GO语言学习笔记(一)

    GO语言学习笔记

    1.数组切片slice:可动态增长的数组

    2.错误处理流程关键字:defer panic recover

    3.变量的初始化:以下效果一样

    `var a int = 10`
    `var a = 10`
    `a := 10` (推荐写法)
    注意::= 左侧的变量不能是被声明过的
    

    4.定义常量:const关键字定义常量

    5.以大写字母开头的常量在包外可见

    6.Go语言内置的数据类型:

    • 布尔型 bool
    • 整形 int8、int16
    • 浮点型 float32、64
    • 复数 complex64
    • 字符串 string
    • 字符类型 rune
    • 错误类型 error
    • 指针 pointer
    • 数组 array
    • 切片 slice
    • 字典 map
    • 通道 chan
    • 结构体 struct
    • 接口 interface

    7.字符串的声明和赋值

    • var str string
    • str = "alisleepy"
    • 取字符串第一个字符:ch := str[0]

    8.获取字符串长度函数:len(str)

    9.获取数组长度的函数:arrLength := len(array)

    10.创建切片slice:

    1.基于已有的数组:
    `var myArr [5] int = [5] int{1,2,3,4,5}`
    `var myslice [] int = myArr[:]` //基于myArr所有元素创建切片
    `myslice = myArr[:5]` //基于前五个数组元素创建切片
    
    2.直接创建切片:make
    `myslice := make([] int 5)` //创建初始元素个数为5的数组切片,元素初始值为0
    

    11.获取数组切片分配的空间大小:cap(myslice)

    12.获取数组切片中当前存储的元素个数:len(myslice)

    13.常见问题1:定义的数据没使用,编译出错,所以定义的数据必须使用,不使用就不需要定义

    14.代码写完后执行: 在代码当前目录cmd执行:go run test.go 就可以看到结果

    15.编辑代码: 在代码当前目录cmd执行: go build test.go 就可以看到生成的.exe文件

    16.切片新增元素,即追加元素: append(被增加的切片,追加的元素)

    第二个参数:追加的元素是一个不定参数,可以直接是多个增加的元素,也可以是一个数组切片
    例如:原切片:slice := make([] int, 5, 10) //切片有五个元素,预留了10个存储空间
    原切片追加元素:slice := append(slice, 1, 2, 3)  //直接增加元素
    第二种追加方法:在slice后追加slice2
    			slice2 := make([] int{8,9,10})  //三个元素的切片
    			slice := append(alice, slice2...) //**注意,在参数2后边有三个点
    

    17.基于数组切片创建数组切片:创建数组切片不仅可以基于数组,还可以基于已有的切片创建新的切片

    例如:
    	oldslice := [] int{1,2,3,4,5} //已有的切片
    	newslice := oldslice[:3]      //基于oldslice的前三个元素创建的新的切片
    

    18.切片的内容复制:copy(slice1, slice2) //把slice2的内容复制给slice1,复制时两个切片不一样大,按照较小的数组切片的元素个数进行复制,比如,slice1有5个元素,slice2有3个元素,执行上述函数,只会讲slice2的3个元素到slice1中

  • 相关阅读:
    http headers总结
    golang跨域配置
    Kafka中topic的Partition,Kafka为什么这么快,Consumer的负载均衡及consumerGroup的概念
    kafka partition(分区)与 group
    RocketMQ从部署到应用(Golang)
    Codeforces Round #706 (Div. 2)
    关于平衡树
    具体数学 第三章 整值函数
    FFT&NTT&多项式全家桶
    省选测试15
  • 原文地址:https://www.cnblogs.com/alisleepy/p/9982542.html
Copyright © 2011-2022 走看看