分类: 分类

30 篇文章

文件处理&命令行参数
文件处理 打开文件和关闭文件 核心 API 打开:os.Open(path)(只读)、os.OpenFile(path, flag, perm) 关闭:defer file.Close() 按行读取示例  f, err := os.Open("test.txt") if err != nil {    &nb…
接口&多态
前言 按理来说,OOP编程的三大特性,前面讲完了两个,应该下一个就是多态,但是Golang中 的多态就是通过接口来实现的,所以我们先讲一下接口。 接口(interface) 接口的设计在Golang中是大量存在的,Golang面向对象的核心就是接口编程,Golang与其他的语言相比也是很有特色。 快速入门 我们这里不讲细节,就感受一下,接口是怎么用…
Go面向对象——抽象封装继承
抽象 抽象?博主不玩抽象谢谢》》》 搞错了,再来 在OOP编程中,抽象是一个很重要的思想,就是就是把现实世界中的复杂事物,用简洁、清晰的模型表达出来,隐藏不必要的实现细节,只暴露必要的接口。 虽然但是,只是提一嘴,大家自行体会 封装 封装就是把抽象出来的字段和对字段的操作封装在一起,数据被保护在内部,程序的其他包只有通过被授权的操作,才能对字段进行…
结构体&方法
前言 emmm为什么要写前言呢,因为这以及不知道第几次开始学面向对象了,哎,面向了这么多次还是没对象怎么办())))) 概述 Go也支持面向对象编程,但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言,和Java C++相比做了很多简化,所以我们说Golang支持面向对象编程特性是比较准确的。 Golang里面没有类,Go语言的结构体和其他语…
Map
map 是一种键值对数据结构,又称为字段或者关联数组,类似于其他编程语言中的集合。 声明 基本语法:  // 方式一:直接声明 + make 初始化 var myMap map[string]int myMap = make(map[string]int) ​ // 方式二:直接 m…
数组&切片
数组 数组可以存放多个同一类型数据,在Golang中数组是值类型。 定义方式&简单操作  // 声明一个长度为5的整型数组 var arr [5]int ​ // 初始化 arr = [5]int{1, 2, 3, 4, 5} //进行数值修改 arr&#…
函数补充&Golang错误处理
字符串中常用的系统函数 统计字符串的长度(按字节len(str))  package main ​ import "fmt" ​ func main() {  str := "ttdr"  fmt.Println("str len = ", len(str)) ​&nb…
函数及包
函数 讲函数之前,我们依旧通过需求来引出概念 需求: 输入两个数,再输入一个运算符(+,-,*,/),得到结果 先使用传统的方式来解决:  package main ​ import "fmt" ​ func main() {  var n1, n2, res float64  …
流程控制
三大流程控制语句 顺序控制程序从上到下逐行进行,中间没有任何判断和跳转,因为程序按照默认的流程执行,即顺序控制。 分支控制分支控制就是让程序有选择地执行,有单分支(if)、双分支(if_else)、多分支(if_else if _else)。 循环控制 If_else 示例代码:  func main() {  var a, b…
Golang 入门(2)
值类型和引用类型 基本概念 值类型:变量直接存储值,内存通常在栈中分配 引用类型:变量存储的是一个地址,这个地址对应的空间才是真正的存储数据,内存通常在堆上分配,当没有任何变量引用这个地址时,改地址对应的数据空间就成为了一个垃圾,由GC来回收。 常见的值类型和引用类型 值类型: 基本数据类型的int系列,float系类,bool,string。数组…