我对于学习的C语言的结构体做一个小的学习总结,总结如下: 结构体:structure 结构体是一种用户自己建立的数据类型,由不同类型数据组成的组合型的数据结构.在其他高级语言中称为记录(record). 声明一个结构体类型的一般形式为: struct 结构体名{ 类型名 成员名1; 类型名 成员名2; ……}; 注意: 结构体类型的名字是由一个关键字struct 和结构体名组合而成的如struct Student. 结构体名是由用户指定的,又称“结构体标记”以区别于其他结构体类型. 花括号内是该…
一.什么是函数式语言?       函数式语言一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型.这种语言具有较强的组织数据结构的能力,可以把某一数据结构(如数组)作为单一值处理:可以把函数作为参数,其结果也可为函数,这种定义的函数称为高阶函数,程序就是函数,程序作用在结构型数据上,产生结构型结果,从根本上改变了冯·诺伊曼式语言的“逐词”工作方式. 二.函数式语言的种类       函数式语言有OCaml, Lisp.Haskell.Clean.…
什么是目 目是针对操作符来说的,一个操作符影响两个操作数就表示该操作符为双目运算符 举个例子: 1+2 这里的加号影响了1和2两个操作数,所以"+"就是双目运算符 +1,-1 这里的"+"代表正数,"-"代表了负数,影响了一个操作数,所以是单目运算符 常见运算符及优先级 链接:https://baike.baidu.com/item/C%E8%AF%AD%E8%A8%80%E8%BF%90%E7%AE%97%E7%AC%A6/1539281?fr…
01 | 工作区和GOPATH 从 Go 1.5 版本的自举(即用 Go 语言编写程序来实现 Go 语言自身),到 Go 1.7 版本的极速 GC(也称垃圾回收器),再到 2018 年 2 月发布的 Go 1.10 版本对其自带工具的全面升级,以及可预见的后续版本关键特性(比如用来做程序依赖管理的go mod命令),这一切都令我们欢欣鼓舞.Go 语言在一步步走向辉煌的同时,显然已经成为软件工程师们最喜爱的编程语言之一. 我们学习 Go 语言时,要做的第一件事,都是根据自己电脑的计算架构(比如,是…
02 | 命令源码文件 我们已经知道,环境变量 GOPATH 指向的是一个或多个工作区,每个工作区中都会有以代码包为基本组织形式的源码文件. 这里的源码文件又分为三种,即:命令源码文件.库源码文件和测试源码文件,它们都有着不同的用途和编写规则. 对于 Go 语言学习者来说,你在学习阶段中,也一定会经常编写可以直接运行的程序.这样的程序肯定会涉及命令源码文件的编写,而且,命令源码文件也可以很方便地用go run命令启动. 那么,我今天的问题就是:命令源码文件的用途是什么,怎样编写它? 这里,我给出…
19 | 错误处理(上) 提到 Go 语言中的错误处理,我们其实已经在前面接触过几次了. 比如,我们声明过error类型的变量err,也调用过errors包中的New函数. 我们说过error类型其实是一个接口类型,也是一个 Go 语言的内建类型.在这个接口类型的声明中只包含了一个方法Error.Error方法不接受任何参数,但是会返回一个string类型的结果.它的作用是返回错误信息的字符串表示形式. 我们使用error类型的方式通常是,在函数声明的结果列表的最后,声明一个该类型的结果,同时在…
写在前面:  按照main()函数的代码一行一行的分析,该是看到了 etimer_process 这个位置.但是etimer_process实现里的一个宏 PROCESS_YIELD()引出了很多故事,于是单独把整个宏的东西整理成笔记,贴出来,和学习contiki的伙伴分享. 在说这个宏之前,得先记下c 语言的switch()遭遇. switch()从表面上来看,或许应该是非常简单的问题--C语言的基本功吧.它的使用方式,按照常规来说,如下图所示: 好吧,那就贴一段常规的代码: int main…
Foundation框架 1.Foundation框架介绍 框架是由许多类.方法.函数以及文档按照一定的规则组合的起来的集合. cocoa程序编写主要用到2个框架Foundation和Application(UIKit).Foundation主要定义的是一些基础类,供程序员使用,Application Kit是一些用户界面设计的类,用于Mac开发使用.Foundation框架所有类都继承自NSObject对象. Foundation(通用的面相对象的函数库)提供字符串,数值的管理,容器及其枚举,…
04 | 程序实体的那些事儿(上) 还记得吗?Go 语言中的程序实体包括变量.常量.函数.结构体和接口. Go 语言是静态类型的编程语言,所以我们在声明变量或常量的时候,都需要指定它们的类型,或者给予足够的信息,这样才可以让 Go 语言能够推导出它们的类型. 问题:声明变量有几种方式? package main import ( "flag" "fmt" ) func main() { var name string // [1] flag.StringVar(&a…
06 | 程序实体的那些事儿 (下) 在上一篇文章,我们一直都在围绕着可重名变量,也就是不同代码块中的重名变量,进行了讨论.还记得吗? 最后我强调,如果可重名变量的类型不同,那么就需要引起我们的特别关注了,它们之间可能会存在"屏蔽"的现象. 必要时,我们需要严格地检查它们的类型,但是怎样检查呢?咱们现在就说. 我今天的问题是:怎样判断一个变量的类型? 我们依然以在上一篇文章中展示过的 demo11.go 为基础. package main import "fmt"…