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本书
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...
随机推荐
- RF是如何工作的?
随机森林的发展史 谈及随机森林算法的产生与发展,我们必须回溯到20世纪80年代.可以说,该算法是Leo Breiman, Adele Cutler, Ho Tin Kam, Dietterich, A ...
- linux automake使用
一篇文章: 一.Makefile介绍 Makefile是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有的文件都需要重新编译,Makefile中纪录有 ...
- javascript 中的 parameter vs arguments
像往常一样简单粗暴地看码: A parameter is the variable which is part of the method’s signature (method declaratio ...
- Vim 我用的python相关插件
1. pydoc.vim(https://github.com/vim-scripts/pydoc.vim) 查找python文档. 使用方法: :Pydoc <keyword> ...
- 函数对象[条款18]---《C++必知必会》
有时需要一些行为类似于函数指针的东西,但函数指针显得笨拙.危险而且过时(让我们承认这一点).通常最佳方式是使用函数对象(function object)取代函数指针. 与智能指针一样,函数对象也是一个 ...
- Java ArrayList详细介绍和使用示例
①对ArrayList的整体认识 ArrayList是一个数组队列,相当于动态数组.与Java中的数组相比,它的容量能动态增长.它继承了AbstractList,实现了List,RandomAcces ...
- 两个java小练习
网上看到的一个小练习,自己写了一个,但是时间限制并不符合,并且貌似还有些小问题,暂时放在这儿,代码格式什么的也不太规范. 1.班级排名时间限制: 1000ms 内存限制: 65536kB 描述 信息科 ...
- maven 介绍(二)
本文内容主要摘自:http://www.konghao.org/index 内部视频 三.仓库 仓库:本地仓库:远程仓库:私有仓库(nexus) 1. nexus 的安装: 1). 下载并且解压缩 2 ...
- ServletConfig获取Servlet的公共参数方法
web.xml配置: <servlet> <servlet-name>AServlet</servlet-name> <servlet-class>AS ...
- Ubuntu16.04安装印象笔记
Nixnote 是一个 Evernote 开源客户端,原名 Nevernote.Evernote 是一个著名的笔记等个人资料整理和同步软件, 因为 Evernote 没有 Linux 下的官方版本,因 ...