Go Linux Mysql  Http 2018-05-02

2018-05-03  本文已影响0人  挪威的深林

今天主要学习了4个东西
1.Go函数 2.mysql-zool 练习 3.linux认知 4.http协议学习

一、Go函数

  1. Go函数表现类型是 func (arguments 形参)(results 返回结果) { /******/}

2.Go函数可以返回多个结果,Go函数形参如果不是指针类型数据结构(slice、
map、chan、指针类型、function)就是值拷贝,并不能改变传入进来的值内
容,否则就能改变。

3.Go函数被看作第一类值,也就是说Go函数可以被当成变量用进行函数传递或者返回。
例如:func square(n int) int { return n * n }
func negative(n int) int { return -n }
func product(m, n int) int { return m * n }
f := square
fmt.Println(f(3)) // "9"
f = negative
fmt.Println(f(3)) // "-3"
fmt.Printf("%T\n", f) // "func(int) int"
f = product // compile error: can't assign func(int, int) int to func(int) int
注:Go函数被看多第一类值时候,是不能进行相等比较,赋值操作时候一定要赋值同等类型的函数(形参和返回结果类型一样的函数),否上会抛出异常,例如上面。

4.函数类型的零值是nil。调用值为nil的函数值会引起panic错误:
var f func(int) int
f(3) // 此处f的值为nil, 会引起panic错误

5.Go函数可以匿名函数,也就是不用声明函数名字,在一个函数里面还可以声明一个函数,并且匿名函数可以引用外层函数的变量。

二、mysql 练习

之前一段时间mysql基础已经熟悉,现在需要练习和实战。实战有自己的服务器和Go项目,目前我做的Go项目是一个视频社区项目。
今天练习的是:

  1. BETWEEN a AND b (一个值范围在两个值中间)

2.其它没什么说的 挺基础简单的。。。

三、Linux学习
Linux有很多版本,今天开始学习的是shell命令。

1.main 命令 main命令就是查看一个命令的手册,也就是用法。我的服务器是centos7 ,我就在这上面练习,mac电脑这个命令行不通
2.有个通用的命令,也就是我们经常用到的 那就是 ... --help。这个命令可以帮助同学直接看到中文用法,例如上面的 main mv ,出来的是英文用法手册,而 mv --help 出来的是中文手册,其实大部分命令的用法计算机都告诉你了。

四、HTTP学习

当你浏览了一个网站,这个过程其实是TCP/IP协议在帮你实现和完成的,Http只是Tcp/Ip协议里面的应用层协议。Tcp/Ip协议总共分为四层,
1.应用层:主要是http ftp Dns 等
2.传输层:tcp、udp 主要是把应用层传输过来的报文数据进行分割成一小段一小段进行编号,然后在头部加上TCP标识
3.网络层: ip协议 ,主要是把数据包在网络上传输到对方那里,数据包是网络传输数据的单位。
4.数据链路层:主要是跟硬件打交道,通过网卡等把数据接收,然后传输到网络层、传输层、应用层。

上一篇下一篇

猜你喜欢

热点阅读