四月二十三号日报

今日学习内容

Go语言的字符类型,字符串,strings和strconv包,指针

1.1字符类型:严格来说,这并不是 Go 语言的一个类型,字符只是整数的特殊用例。byte类型是unit8的别名。

var ch byte = 65或 var ch byte ='\x41'

\x总是紧跟着长度为2或者16的二进制数,还有一种写法是\后面紧跟着长度为3的八进制数,Go同样支持Unicode(UTF-8),在书写 Unicode 字符时,需要在 16 进制数之前加上前缀 \u 或者 \U。因为 Unicode 至少占用 2 个字节,所以我们使用 int16 或者 int 类型来表示。如果需要使用到 4 字节,则会加上 \U 前缀;前缀 \u 则总是紧跟着长度为 4 的 16 进制数,前缀 \U 紧跟着长度为 8 的 16 进制数。

1.2字符串:字符串是一种值类型,且值不可变,即创建某个文本后你无法再次修改这个文本的内容;更深入地讲,字符串是字节的定长数组

Go 支持以下 2 种形式的字面值:

  • 解释字符串:

    该类字符串使用双引号括起来,其中的相关的转义字符将被替换,这些转义字符包括:

    • \n:换行符
    • \r:回车符
    • \t:tab 键
    • \u\U:Unicode 字符
    • \\:反斜杠自身
  • 非解释字符串:

    该类字符串使用反引号括起来,支持换行

1.3strings和strconv包:Go中使用strings包来完成对字符串的主要操作,如:

  • HasPrefix 判断字符串 s 是否以 prefix 开头
  • HasSuffix 判断字符串 s 是否以 suffix 结尾
  • Contains 判断字符串 s 是否包含 substr
  • Index 返回字符串 str 在字符串 s 中的索引(str 的第一个字符的索引),-1 表示字符串 s 不包含字符串 str
  • LastIndex 返回字符串 str 在字符串 s 中最后出现位置的索引(str 的第一个字符的索引),-1 表示字符串 s 不包含字符串 str
  • Replace 用于将字符串 str 中的前 n 个字符串 old 替换为字符串 new,并返回一个新的字符串,如果 n = -1 则替换所有字符串 old 为字符串 new
  • Count 用于计算字符串 str 在字符串 s 中出现的非重叠次数
  • Repeat 用于重复 count 次字符串 s 并返回一个新的字符串
  • ToLower 将字符串中的 Unicode 字符全部转换为相应的小写字符
  • ToUpper 将字符串中的 Unicode 字符全部转换为相应的大写字符
  • strings.TrimSpace(s) 来剔除字符串开头和结尾的空白符号;如果你想要剔除指定字符,则可以使用 strings.Trim(s, "cut") 来将开头和结尾的 cut 去除掉。该函数的第二个参数可以包含任何字符,如果你只想剔除开头或者结尾的字符串,则可以使用 TrimLeft 或者 TrimRight 来实现
  • Join 用于将元素类型为 string 的 slice 使用分割符号来拼接组成一个字符串

1.4指针:Go语言的取地址符是&,放到一个变量前使用就会返回相应变量的内存地址

var i1 = 5
fmt.Printf("An integer: %d, it's location in memory: %p\n", i1, &i1)

这个地址可以存储在一个叫做指针的特殊数据类型中,在本例中这是一个指向 int 的指针,即 i1:此处使用 *int 表示。如果我们想调用指针 intP,我们可以这样声明它:

var intP *int

然后使用intP = &i1是合法的,此时intP指向i1。intP 存储了 i1 的内存地址;它指向了 i1 的位置,它引用了变量 i1。当一个指针被定义后没有分配到任何的变量时,它的值为nil

但是你不能得到文字和常量的地址

    const i = 5
    ptr := &i
    ptr2 := &10

虽然Go和C/C++一样都有指针的概念,但是对于pointer+2这样的操作是不允许的

PostgreSQL学习

? 在官网下载Postgresql和图形化管理工具pgadmin4后一路傻瓜式安装即可

1.1:何为PostgreSQL?

PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES, 版本 4.21为基础的对象关系
型数据库管理系统(ORDBMS)。POSTGRES 领先的许多概念在很久以后才出现在一些商业数据
库系统中。
PostgreSQL是最初的伯克利代码的开源继承者。它支持大部分 SQL 标准并且提供了许多现代
特性:
? 复杂查询
? 外键
? 触发器
? 可更新视图
? 事务完整性
? 多版本并发控制
同样,PostgreSQL可以用许多方法扩展,比如, 通过增加新的:
? 数据类型
? 函数
? 操作符
? 聚集函数
? 索引方法
? 过程语言
并且,因为自由宽大的许可证,任何人都可以以任何目的免费使用、修改和分发
PostgreSQL, 不管是私用、商用还是学术研究目的。

1.2创建新表与删除:与常用数据库创建表的命令差不多,用--使用注释

create table weather(
    city varchar(80),
    temp_lo int,
    temo_hi int,
    prcp real,
    date date
);
drop table tablename

1.2在表中增加行:insert语句向表中添加行

insert into weather values ('San Francisco', 46, 50, 0.25, '1994-11-27')
如果你需要,你可以用另外一个顺序列出列或者是忽略某些列, 比如说,我们不知道降水
量
insert into weather (date, city, temo_hi, temp_lo) values ('1994-11-29', 'Hayward', 54, 37);

1.3查询一个表:SQL的select语句为查询用途,该语句分为选择列表(列出要返回的列)、表列表(列出从中检索数据的表)以及可选的条件(指定任意的限制)。

select * from weather

这里*是“所有列”的缩写。 因此相同的结果应该这样获得

SELECT city, temp_lo, temo_hi, prcp, date FROM weather;

你可以在选择列表中写任意表达式,而不仅仅是列的列表

select city,(temo_hi+temp_lo)/2 as temp_avg,date from weather
select * from weather where city ='San Francisco' and prcp>0.0

as句子是如何给输出列重新命名的,where子句包含一个布尔(真值)表达式,只有那些使布尔表达式为真的行才会被返回。在条件中可以使用常用的布尔操作符(and、or和not)

select *from weather order by city
select distinct city from weather

第一条语句是要求返回的查询结果是排好序的,第二条是消除重复的行

1.4在表之间的连接:一个同时访问同一个或者不同表的多个行的查询叫连接查询。

select * from weather,cities where city =name

where所挑选的字段名被数据库自动识别属于哪一个表,当两个表中有重复名的列时,就需要进行限定

select weather.city, weather.temp_lo, weather.temo_hi,
 weather.prcp, weather.date, cities.location
 from weather, cities
 where cities.name = weather.city;

1.5聚集函数:count(计数)、sum(和)、avg(均值)、max(最大值)和min(最小值)的函数。

select city from weather where temp_lo=max(temp_lo)

上面这条语句不能运行,因为聚集函数不允许出现在where句子中(存在这个限制是因
为where子句决定哪些行可以被聚集计算包括;因此显然它必需在聚集函数之前被计
算),解决的办法是使用子查询

select city from weather where temp_lo=(select max(temp_lo) from weather)

1.6更新:用update命令更新现有的行

update weather set temo_hi=temo_hi-2,temp_lo=temp_lo-2 where date>'1994-11-28'

1.7删除:数据行可以用delete删除

delete from weather where city='Hayward'

原文地址:https://www.cnblogs.com/swtczb/p/11632612.html

时间: 2024-10-30 06:27:26

四月二十三号日报的相关文章

四月十九号日报

今日学习内容 因为今天要进行考核,主要精力放在了红网云产品知识点的复习上面,然后进行了墙产品的部分测试,学习了解了禅道的使用方法. 1,Go语言的了解与在Linux下开发环境的搭建 2,VSCode下Go语言的安装与配置 3,Go 程序的基本结构和要素 4,Linux文件种类与扩展名 5,对云产品知识进行复习准备考核 这周主要进行了Go语言的初步了解在搭建环境的过程中遇到了问题,找徐伯辰师兄解决了,再就是复习红网云产品知识在星期五对我们实习生进行了一次考核,自己感觉还有一些知识点掌握的不太到位,

四月十六号日报

今日学习内容 VSCode下Go语言的安装与配置 由于发现在Linux终端下写代码不是很方便,遂在Windows下配置开发环境 安装步骤 Go下载地址:Golang VSCode下载地址:VSCode 下载完成后安装一路默认就好了(安装路径可以自己设置) 注意事项: Go安装完成后可以在cmd中输入来安装是否正确 go version go env VSCode设置:当打开VSCode后新建一个后缀名为.go的文件,VSCode会提示自动安装Go插件,在文件中输入以下代码 package mai

四月二十八号日报

今日学习内容 Go语言函数 1.1介绍:Go里面有三种类型的函数: 普通的带有名字的函数 匿名函数或者lambda函数 方法 函数可以将其他函数调用作为它的参数,只要这个被调用函数的返回值个数.返回值类型和返回值的顺序与调用函数所需求的实参是一致的.在Go语言中不支持函数的重载(原因是函数重载需要进行多余的类型匹配影响性能) 1.2函数参数与返回值:相比于C/C++.Java等多返回值是Go的一大特性 1.2.1按值传递与按引用传递:Go 默认使用按值传递来传递参数,也就是传递参数的副本.如果你

四月十五号日报

今日学习内容 Go语言的了解与Linux下开发环境的搭建 起源:Go语言起源于2007年,并于2009年正式对外发布.Go语言的设计者是三位著名的IT工程师,Robert Griesemer,参与开发 Java HotSpot 虚拟机:Rob Pike:Go 语言项目总负责人,贝尔实验室 Unix 团队成员,参与的项目包括 Plan 9,Inferno 操作系统和 Limbo 编程语言:Ken Thompson:贝尔实验室 Unix 团队成员,C 语言.Unix 和 Plan 9 的创始人之一,

JAVA之旅(二十三)——System,RunTime,Date,Calendar,Math的数学运算

JAVA之旅(二十三)--System,RunTime,Date,Calendar,Math的数学运算 map实在是太难写了,整理得我都晕都转向了,以后看来需要开一个专题来讲这个了,现在我们来时来学习一些新的小东西吧 一.System 翻译过来系统的意思,系统类,里面的方法都是静态的,可以直接调用 我们来演示一下吧,先从获取系统信息开始: package com.lgl.hellojava; import java.util.Properties; public class HelloJJAVA

winform学习日志(二十三)---------------socket(TCP)发送文件

一:由于在上一个随笔的基础之上拓展的所以直接上代码,客户端: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using Sys

ActionScript3游戏中的图像编程(连载二十三)

2.1 Photoshop图层样式初体验 打开Photoshop CS5,新建一个600*100(单位:像素)的空白文档. 使用“横排文字工具”在画布上拖出一个文本框,字体设置为微软雅黑并加粗(最好是使用直接的粗体,而非仿粗),字号80号,字体颜色#0000FF,文字内容为“Flash艺术编程”. 无法正确完成以上任务的初学者可自行查阅Photoshop的基础教程进行学习. 在图层面板(如果图层面板没打开,就可通过菜单项“窗口”——“菜单”或者按F7调出来)右击文字所在的层,选择 “混合选项”菜

算法系列之二十三:离散傅立叶变换之音频播放与频谱显示

算法系列之二十三:离散傅立叶变换之音频播放与频谱显示 算法系列之二十三离散傅立叶变换之音频播放与频谱显示 导语 什么是频谱 1 频谱的原理 2 频谱的选择 3 频谱的计算 显示动态频谱 1 实现方法 2 杂项说明 结果展示 导语 频谱和均衡器,几乎是媒体播放程序的必备物件,没有这两个功能的媒体播放程序会被认为不够专业,现在主流的播放器都具备这两个功能,foobar 2000的十八段均衡器就曾经让很多人着迷.在上一篇对离散傅立叶变换介绍的基础上,本篇就进一步介绍一下频谱是怎么回事儿,下一篇继续介绍

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十三:DS1302模块

实验二十三:DS1302模块 DS1302这只硬件虽然曾在<建模篇>介绍过,所以重复的内容请怒笔者懒惰唠叨了,笔者尽可以一笑带过,废话少说让我们进入正题吧.DS1302是执行事实时钟(Real Time Clock)的硬件,采用SPI传输. 表示23.1 访问(地址)字节. [7] [6] [5] [4] [3] [2] [1] [0] 1 A5 A4 A3 A2 A1 A0 R/W DS1302作为从机任由主机蹂躏 ... 啊,是任由主机访问才对.对此,访问便有方向之分.如表23.1所示,访