C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 02)
------------------- 指针
go 保留的 c 语言指针的操作,同时增加了自动垃圾回收机制
var a = new(int)
*a = // &a 内存地址 -------------------- 数组
// 定义
var a []int
b := []int {, , , , }
// 下标赋值
c := []int {: , : }
// 多维数组
var a [][]int
b := [][]int {{...}, {...}, {...}} -------------------- slice 切片
// 切片不是数组成数组指针,(数组传参是值传递,切片传参是引用传递)
// 它通过内部指针喝相关属性引用数组片段,以实现变长方案
a := [...]int {, , }
a := []int{}
a := make([]int, , ) // 容量1
slice := array[::]
// [low:high:max]
// low:下标的起始 、 high:下标的终点、max:容量
// 如果超过原来的容量,通常是以 2 倍的容量来扩容 // append 切片尾部增加元素 -------------------- map
var m1 map[int]string
m2 := map[int]string {
: "loong",
: "chao"
}
// 指定长度
m3 := make(map[int]string, "length")
// 遍历
for key, value := range m1 {
// ...
}
// 判断key是否存在
value, isExitst := m1[] // 对象[key]
// 删除list
delete(m, ) // (对象, key) -------------------- 结构体
// 语法
type Student struct {
id int
name string
}
var stu = Student { , "loong" }
var stu2 = Student
stu2.id =
stu2.name = "loong"
stu3 := new(Student)
stu4 := Student{id: 1}
// 匿名字段的用法
type Person struct {
name string
sex byte
age int
} type Student struct {
Person // 匿名字段
id int
addr string
} s := Student{ Person:Person{name: "loong", sex: 'm', age: 18}, id: 1, addr: "ShenZhen"}
x := Student{ "loong", 'm', 18, 1, "ShenZhen" }
C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 02)的更多相关文章
- C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 05)
----------------------------------------- error 使用 (异常处理) // 语法 (普通错误) import "errors" fun ...
- C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 06)
----------------------------------------- go 并发 // 注解:go 语言天生为程序并发所设计,可以说go的强项就是在cpu并发上的处理. // go 语言 ...
- C#/Java 程序员转GO/golang程序员笔记大全(day 01)
前言: 整理一下学习 Go 语言的笔记,作为一名老程序,学习一名新的开发语言自然不需要像小白那样从 HelloWorld 看起. 简单整理一下 Go 的一些差异处,希望对大家学习 go 有点帮助,不正 ...
- C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 00)
一.安装说明 https://studygolang.com/dl 二.环境变量 // 下载 *.msi 安装文件,部分环境变量默认配置好了. 其他配置如下描述 三.目录及项目层级关系 在系统环境变量 ...
- C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 04)
-------------------- interface 接口 // 定义: type IHumaner interface { SayHi() // 接口中只能是方法声明,没有实现,没有数据字段 ...
- C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 03)
go语言当中,没有 class 的概念,那么面向对象的编程思想如何展现呢,go语言中对结构体的使用 struct. package main import "fmt" type P ...
- PHP笔记——java程序员看懂PHP程序
PHP笔记——java程序员看懂PHP程序 php是一种服务器端脚本语言,类型松散的语言. <?php ?> xml风格 <script language=”ph ...
- 使用 Java 开发兼容 IPv6 的网络应用程序
根据现有 IPv4 地址的部署速度,剩余的地址将在 10 到 20 年被使用殆尽.因此网络逐渐从 IPv4 向 IPv6 转换是不可避免的,相应的各种网络应用程序都将支持 IPv6.对于 Java,从 ...
- StackOverflow程序员推荐:每个程序员都应读的30本书
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...
随机推荐
- vue Element-ui 表格自带筛选框自定义高度
el-table中可以在一行的某列进行筛选,代码如下: <el-table-column prop="classOfTest" class="test" ...
- Foundations of RESTful Architecture
Introduction The Representational State Transfer (REST) architectural style is not a technology you ...
- Java RSA公钥加密,私钥解密算法的尝试
https://www.cnblogs.com/liemng/p/6699257.html 写这篇博客其实是有点意外的,来源最初也算是入职当前这家公司算吧,由于项目要求数据几乎都进行了加密(政府项目么 ...
- 【.Net基础一】 类型、对象、线程栈、托管堆运行时的相互关系
目前在看CLR via C#,把总结的记下来,索性就把他写成一个系列吧. 1.[.Net基础一] 类型.对象.线程栈.托管堆运行时的相互关系 2.[.Net基础二]浅谈引用类型.值类型和装箱.拆箱 J ...
- Openwrt架设GIT服务
#下载宝刷LEDE版系统后, 在上面安装git包 opkg update opkg install git #安装好后在将git仓库装到SD(TF)卡上 #用fdisk对SD 卡分区 #fdisk / ...
- 20145301 《Java程序设计》第八周学习总结
20145301 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章部分 - 通用API 日志API 日志: 日志对信息安全意义重大,审计.取证.入侵检测等都会用到日志信息 L ...
- 20145302张薇《Java程序设计》第八周学习总结
20145302 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章 日志API简介 使用日志的起点是Logger类,要取得Logger类,必须使用Logger的静态方法get ...
- 20144303《Java程序设计》第10周学习总结
20144303<Java程序设计>第10周学习总结 教材学习内容总结 网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程 ...
- arm-linux工具
arm-linux工具的功能如下: arm-linux-addr2line 把程序地址转换为文件名和行号.在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上 ...
- zookeeper项目使用几点小结
背景 前段时间学习了zookeeper后,在新的项目中刚好派上了用场,我在项目中主要负责分布式任务调度模块的开发,对我自己来说是个不小的挑战. 分布式的任务调度,技术上我们选择了zookeeper,具 ...