kubernetes 的源码解读(一)
kubernetes 的源码解读(一)
Golang 语法 —— 方法声明
四个部分:
• 关键字 func
• 方法名字:首字母是否大写决定了作用域,(首字母大写为公共,首字母小写为私有)
• 参数列表:[<name, type>]
• 返回列表: [type]
Golang 语法
• import 关键字引入别的包
• 如何声明一个方法
• 方法可以作为参数
• fmt 可以用于输出数据,格式化字符串
• string 子串可以用 [start:end] 来 获得
• *表示指针
Golang 语法 —— 变量声明
• 首字符是否大写控制了访问性:大写包外 可访问;
• 驼峰命名
• golang 支持类型推断,所以大部分情况 下我们可以省略类型
• var
• 局部变量
• 包变量
• 块声明
• const —— 常量,和 var 用法一样
• 字符串和基本类型(不含数组)
• 必须显式初始化
• 不能修改
• 常量有些人用驼峰,有些人全大写,没有统一的标准
Golang 语法 —— 格式化占位符
• fmt 包 有完整的说明
• 掌握常用的:%s, %d, %v, %+v, %#v
• 不仅仅是 fmt
的调用,所有格式化字符 串的 API 都可以用
Go 语言的基础数据类型
Go语言中的数组和切片
•[]byte是切片 ---数组
•[10]byte是数组——即数组是有确切长度的 --- 切片
共性:
1.都使用data[i]来索引数据
2.使用len(data)来获得长度(已有元素个数)
3.使用cap(data)来获得容量
注意:数组的长度和容量是一致的
golang语法——如何理解切片?
最直观的对比:切片是 ArrayList,即基于数组的List的实现,切片的底层也是数组
区别:
1.切片操作是有限的,不支持随机增删(即没有add,delete方法,需要自己写代码)
2.只有append操作
3.切片支持子切片操作,和原本切片是共享底层数组
Go 语言中的各种循环和 数组的一些例子
本文来自博客园,作者:Chuan_Chen,转载请注明原文链接:https://www.cnblogs.com/wangcc7/p/16103337.html