当前位置: 首页 > news >正文

【Go】二、Go的基本数据类型

文章目录

  • 0、进制
  • 1、变量的声明
  • 2、数据类型
  • 3、整型
  • 4、浮点型
  • 5、字符类型
  • 6、布尔类型
  • 7、字符串类型
  • 8、基本数据类型的默认值
  • 9、类型转换
  • 10、基本类型转String
  • 11、String转其他类型

0、进制

N进制,逢N进一

在这里插入图片描述

1、变量的声明

//声明 + 赋值
var age int = 18
//声明、赋值、使用
func main(){var age intage = 18fmt.Println("age = ", age)
}

通过变量名在内存中找到它(通过房间号找到在一栋楼里找到某个房间),变量类型,即区分空间大小(类比单人间、双人间)

在这里插入图片描述
变量定义的四种形式:

package main
import "fmt"
func main(){//定义在{}中的变量叫:局部变量//第⼀种:变量的使⽤⽅式:指定变量的类型,并且赋值,var num int = 18fmt.Println(num)//第⼆种:指定变量的类型,但是不赋值,使⽤默认值var num2 intfmt.Println(num2)//第三种:如果没有写变量的类型,那么根据=后⾯的值进⾏判定变量的类型 (⾃动类型推断)var num3 = "tom"fmt.Println(num3)//第四种:省略var,注意 := 不能写为 = sex := "男"fmt.Println(sex)
}

也可一次声明多个变量,不论局部还是全局变量

package main
import "fmt//全局变量:定义在函数外的变量
var n7 = 100
var n8 = 9.7//设计者认为上⾯的全局变量的写法太麻烦了,可以⼀次性声明:
var (n9 = 500n10 = "netty"
)func main(){//声明多个变量:var n1,n2,n3 intfmt.Println(n1)    //0fmt.Println(n2)	   //0fmt.Println(n3)    //0var n4,name,n5 = 10,"jack",7.8fmt.Println(n4)fmt.Println(name)fmt.Println(n5)n6,height := 6.9,100.6fmt.Println(n6)fmt.Println(height)fmt.Println(n7)fmt.Println(n8)fmt.Println(n9)fmt.Println(n10)
}

2、数据类型

在这里插入图片描述

3、整型

有符号整数型:

在这里插入图片描述

//首位为符号位,127即
0111 1111 

无符号型:

在这里插入图片描述

//255即
1111 1111

其他类型:

在这里插入图片描述

不加类型声明整形,go默认是int类型:

在这里插入图片描述

导入unsafe包,查看变量所占的字节数:

在这里插入图片描述

4、浮点型

不同于Java的float和double,go中是float32和float64:

在这里插入图片描述

package main
import "fmt"
func main(){//定义浮点类型的数据:var num1 float32 = 3.14fmt.Println(num1)//可以表示正浮点数,也可以表示负的浮点数var num2 float32 = -3.14fmt.Println(num2)//浮点数可以用十进制表示形式,也可以用科学计数法表示形式  E 大写小写都可以的var num3 float32 = 314E-2 fmt.Println(num3)var num4 float32 = 314E+2fmt.Println(num4)var num5 float32 = 314e+2fmt.Println(num5)var num6 float64 = 314e+2fmt.Println(num6)//浮点数可能会有精度的损失,所以通常情况下,建议你使用:float64 var num7 float32 = 256.000000916fmt.Println(num7)var num8 float64 = 256.000000916fmt.Println(num8)//golang中默认的浮点类型为:float64 var num9 = 3.17fmt.Printf("num9对应的默认的类型为:%T",num9)
}

运行发现精度损失:

在这里插入图片描述

因此,通常建议用float64,且go中浮点类型默认也是float64

5、字符类型

和Java有char不同,Go中没有专⻔的字符类型,如果要存储单个字符(字⺟),⼀般使⽤byte类型来保存,且Go中字符使用utf-8编码

package main
import "fmt"
func main(){//定义字符类型的数据:var c1 byte = 'a'fmt.Println(c1)//97var c2 byte = '6'fmt.Println(c2)//54var c3 byte = '('fmt.Println(c3 + 20)//40//字符类型,本质上就是一个整数,也可以直接参与运算,输出字符的时候,会将对应的码值做一个输出//字母,数字,标点等字符,底层是按照ASCII进行存储。var c4 int = '中'fmt.Println(c4)//汉字字符,底层对应的是Unicode码值//对应的码值为20013,byte类型溢出,能存储的范围:可以用int//总结:Golang的字符对应的使用的是UTF-8编码(Unicode是对应的字符集,UTF-8是Unicode的其中的一种编码方案)var c5 byte = 'A'//想显示对应的字符,必须采用格式化输出fmt.Printf("c5对应的具体的字符为:%c",c5)
}

在这里插入图片描述

关于转义字符:

import "fmt"
func main(){//练习转义字符://\n  换行fmt.Println("aaa\nbbb")//\b 退格fmt.Println("aaa\bbbb")//\r 光标回到本行的开头,后续输入就会替换原有的字符fmt.Println("aaaaa\rbbb")//\t 制表符fmt.Println("aaaaaaaaaaaaa")fmt.Println("aaaaa\tbbbbb")fmt.Println("aaaaaaaa\tbbbbb")//\"fmt.Println("\"Golang\"")
}

在这里插入图片描述

6、布尔类型

package main
import "fmt"
func main(){//测试布尔类型的数值:var flag01 bool = true//truefmt.Println(flag01)var flag02 bool = false//falsefmt.Println(flag02)var flag03 bool = 5 < 9//truefmt.Println(flag03)
}

7、字符串类型

字符串是不可变的:指的是字符串⼀旦定义好,其中的字符的值不能变,如str[0] = 'b‘

  • 如果字符串中没有特殊字符,字符串的表示形式⽤双引号
  • 如果字符串中有特殊字符,字符串的表示形式⽤反引号 ``
  • +号进行字符串拼接
package main
import "fmt"
func main(){//1.定义一个字符串:var s1 string = "你好Golang"fmt.Println(s1)//2.字符串是不可变的:指的是字符串一旦定义好,其中的 字符 的值不能改变var s2 string = "abc"s2 = "def"//s2[0] = 't'fmt.Println(s2)//3.字符串的表示形式://(1)如果字符串中没有特殊字符,字符串的表示形式用双引号//var s3 string = "asdfasdfasdf"//(2)如果字符串中有特殊字符,字符串的表示形式用反引号 ``var s4 string = `package mainimport "fmt"func main(){//测试布尔类型的数值:var flag01 bool = truefmt.Println(flag01)var flag02 bool = falsefmt.Println(flag02)var flag03 bool = 5 < 9fmt.Println(flag03)}`fmt.Println(s4)//4.字符串的拼接效果:var s5 string = "abc" + "def"s5 += "hijk"fmt.Println(s5)//当一个字符串过长的时候:注意:+保留在上一行的最后var s6 string = "abc" + "def" + "abc" + "def" + "abc" + "def" + "abc" +"def"+ "abc" + "def" + "abc" + "def"+ "abc" + "def" + "abc" + "def"+"abc" + "def" + "abc" + "def"+ "abc" + "def" + "abc" + "def"+ "abc" +"def" + "abc" + "def"+ "abc" + "def" + "abc" + "def"+ "abc" + "def" + "abc" + "def"+ "abc" + "def"fmt.Println(s6)
}

在这里插入图片描述

最后,注意换行拼接时,+保留在上⼀⾏的最后,因为和Java不一样,没封号,你换行,编译器会认为这个语句结束了

在这里插入图片描述

8、基本数据类型的默认值

在这里插入图片描述
在这里插入图片描述

9、类型转换

go不同类型变量之间赋值,需要显式转换(强制转换)

语法:
T(v)
//将值v转换为类型T
package main
import "fmt"
func main(){        var n1 int = 100//进行类型转换://var n2 float32 = n1  在这里自动转换不好使,比如显式转换var n2 float32 = float32(n1)fmt.Println(n2)//注意:n1的类型其实还是int类型,只是将n1的值100转为了float32而已,n1还是int的类型fmt.Printf("%T",n1)  //intfmt.Println()//将int64转为int8的时候,编译不会出错的,但是会数据的溢出var n3 int64 = 888888var n4 int8 = int8(n3)fmt.Println(n4)//转型后结果是56,就像把一个大面包强塞到一个小盒子,面包肯定要掉渣var n5 int32 = 12var n6 int64 = int64(n5) + 30  //一定要匹配=左右两边的数据类型fmt.Println(n6)var n7 int64 = 12var n8 int8 = int8(n7) + 127  //编译通过,但是结果可能会溢出//var n9 int8 = int8(n7) + 128 //编译不会通过fmt.Println(n8)//fmt.Println(n9)
}

注意最后的两个,int8类型-128到127,所以这个编译能通过,但是结果可能会溢出

var n7 int64 = 12
var n8 int8 = int8(n7) + 127  

而这个则编译都不通过:

var n9 int8 = int8(n7) + 128 

10、基本类型转String

  • 方式一:fmt.Sprintf(“%参数”,表达式)
package main
import "fmt"
func main(){var n1 int = 19var n2 float32 = 4.78var n3 bool = falsevar n4 byte = 'a'//int转string %dvar s1 string = fmt.Sprintf("%d",n1)fmt.Printf("s1对应的类型是:%T ,s1 = %q \n",s1, s1)var s2 string = fmt.Sprintf("%f",n2)fmt.Printf("s2对应的类型是:%T ,s2 = %q \n",s2, s2)var s3 string = fmt.Sprintf("%t",n3)fmt.Printf("s3对应的类型是:%T ,s3 = %q \n",s3, s3)//byte转string %cvar s4 string = fmt.Sprintf("%c",n4)fmt.Printf("s4对应的类型是:%T ,s4 = %q \n",s4, s4)    //%q即将结果用引号引起来
}
  • 方式二:使⽤strconv包的函数
package main
import("fmt""strconv"
)func main(){var n1 int = 18//参数:第一个参数必须转为int64类型 ,第二个参数指定字面值的进制形式为十进制var s1 string = strconv.FormatInt(int64(n1),10)  fmt.Printf("s1对应的类型是:%T ,s1 = %q \n",s1, s1)   //18var n2 float64 = 4.29//第二个参数:'f'(-ddd.dddd)  第三个参数:9 保留小数点后面9位  第四个参数:表示这个小数是float64类型var s2 string = strconv.FormatFloat(n2,'f',9,64)        fmt.Printf("s2对应的类型是:%T ,s2 = %q \n",s2, s2)var n3 bool = truevar s3 string = strconv.FormatBool(n3)fmt.Printf("s3对应的类型是:%T ,s3 = %q \n",s3, s3)
}

11、String转其他类型

使用strconv包的函数

package main
import("fmt""strconv"
)
func main(){//string-->boolvar s1 string = "true"var b bool//ParseBool这个函数的返回值有两个:(value bool, err error),返回值结果不能只用一个变量去接收//value就是我们得到的布尔类型的数据,err表示可能出现的错误//我们只关注得到的布尔类型的数据,err可以用_直接忽略b , _ = strconv.ParseBool(s1)fmt.Printf("b的类型是:%T,b=%v \n",b,b)//string---》int64var s2 string = "19"var num1 int64num1,_ = strconv.ParseInt(s2,10,64)fmt.Printf("num1的类型是:%T,num1=%v \n",num1,num1)//string-->float32/float64var s3 string = "3.14"var f1 float64f1,_ = strconv.ParseFloat(s3,64)   //转float64fmt.Printf("f1的类型是:%T,f1=%v \n",f1,f1)//注意下面转完后,输出Boolean的默认值falsevar s4 string = "golang"var b1 boolb1 , _ = strconv.ParseBool(s4)fmt.Printf("b1的类型是:%T,b1=%v \n",b1,b1)   //无效转,最后输出int的默认值0var s5 string = "golang"var num2 int64num2,_ = strconv.ParseInt(s5,10,64)fmt.Printf("num2的类型是:%T,num2=%v \n",num2,num2)
}

string向基本数据类型转换的时候,一定要确保string类型能够转成有效的数据类型,否则最后得到的结果就是按照对应类型的默认值输出

相关文章:

【Go】二、Go的基本数据类型

文章目录 0、进制1、变量的声明2、数据类型3、整型4、浮点型5、字符类型6、布尔类型7、字符串类型8、基本数据类型的默认值9、类型转换10、基本类型转String11、String转其他类型 0、进制 N进制&#xff0c;逢N进一 1、变量的声明 //声明 赋值 var age int 18//声明、赋值、…...

十一、Spring源码学习之registerListeners方法

registerListeners()方法 protected void registerListeners() {// Register statically specified listeners first.//获取容器中事件监听并存放到多播器中 applicationListenersfor (ApplicationListener<?> listener : getApplicationListeners()) {getApplicationE…...

Oracle 控制文件详解

1、控制文件存储的数据信息 1&#xff09;数据库名称和数据库唯一标识符&#xff08;DBID) 2&#xff09;创建数据库的时间戳 3&#xff09;有关数据文件、联机重做日志文件、归档重做日志文件的信息 4&#xff09;表空间信息 5&#xff09;检查点信息 6&#xff09;日志序列号…...

活体成像应用染料CY3.5-NHS星戈瑞

活体成像是一种生物医学研究的重要工具&#xff0c;它能够实时、无创地观察生物体内细胞和分子的动态变化。染料CY3.5-NHS&#xff0c;作为一种常用的活体成像染料&#xff0c;在许多生物医学研究中发挥着关键作用。本文将详细介绍染料CY3.5-NHS的特点、应用以及优势&#xff0…...

【优选算法】专题1 -- 双指针 -- 复写0

前言&#xff1a; 补充一下前文没有写到的双指针入门知识&#xff1a;专题1 -- 双指针 -- 移动零 目录 基础入门知识&#xff1a; 1. 复写零&#xff08;easy&#xff09; 1. 题⽬链接&#xff1a;1089.复习0 - 力扣&#xff08;LeetCode&#xff09; 2. 题⽬描述&#xff…...

GESP Python编程三级认证真题 2024年3月

Python 三级 2024 年 03 月 1 单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 第 1 题 小杨的父母最近刚刚给他买了一块华为手表&#xff0c;他说手表上跑的是鸿蒙&#xff0c;这个鸿蒙是&#xff1f;&#xff08; &#xff09; A. 小程序 B. 计时器 C. 操作系统…...

前端理论总结(css3)——link/import区别 // 伪类/伪元素

伪类/伪元素 1&#xff1a; 伪类使用1个冒号&#xff0c;常见的有&#xff1a;:hover&#xff0c;:link&#xff0c;:active&#xff0c;:target&#xff0c;:not()&#xff0c;:focus等 伪元素使用 2 个冒号&#xff0c;常见的有&#xff1a;::before&…...

ntp服务器搭建

1、手动修改时区 CST可以为如下4个不同的时区的缩写: 美国中部时间:Central Standard Time (USA) UT-6:00 澳大利亚中部时间:Central Standard Time (Australia) UT+9:30 中国标准时间:China Standard Time UT+8:00 古巴标准时间:Cuba Standard Time UT-4:00小结: UTC:…...

对象的内存布局

在Java虚拟机&#xff08;HotSpot&#xff09;中&#xff0c;对象在 Java 内存中的 存储布局 可分为三块&#xff1a; 对象头 存储区域实例数据 存储区域对齐填充 存储区域 对象头区域&#xff1a; 存储对象自身的运行时数据&#xff0c;如&#xff1a;哈希码、GC分代年龄、锁状…...

docker centos7离线安装ElasticSearch单机版

目录 1.下载ES并解压2.新建elasticsearch用户3.修改ES配置文件4.启动ES服务5.设置开机启动 本文以 elasticsearch-7.8.1为例。 1.下载ES并解压 cd /root/install wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.1-linux-x86_64.tar.gz tar -z…...

【计算机网络】IP 协议

网络层IP协议 一、认识 IP 地址二、IP 协议报头格式三、网段划分1. 初识子网划分2. 理解子网划分3. 子网掩码4. 特殊的 IP 地址5. IP 地址的数量限制6. 私有 IP 地址和公网 IP 地址7. 理解全球网络&#xff08;1&#xff09;理解公网&#xff08;2&#xff09;理解私网&#xf…...

刷题DAY38 | LeetCode 509-斐波那契数 70-爬楼梯 746-使用最小花费爬楼梯

509 斐波那契数&#xff08;easy&#xff09; 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n) F(n - 1)…...

蓝桥杯-卡片换位

solution 有一个测试点没有空格&#xff0c;要特别处理&#xff0c;否则会有一个测试点运行错误&#xff01; 还有输入数据的规模在变&#xff0c;小心顺手敲错了边界条件 #include<iostream> #include<string> #include<queue> #include<map> #incl…...

Unity 布局控制器Content Size Fitter

Content Size Fitter是Unity中的一种布局控制器组件&#xff0c;用于根据其内容的大小来调整包含它的UI元素的大小。换句话来说就是&#xff0c;Content Size Fitter可以根据UI元素内部内容的大小&#xff0c;自动调整UI元素的大小&#xff0c;以确保内容能够正确显示。 如下图…...

Python的面向对象、封装、继承、多态相关的定义,用法,意义

面向对象编程&#xff08;OOP&#xff09;是一种编程范式&#xff0c;它使用对象的概念来模拟现实世界的实体&#xff0c;并通过类&#xff08;Class&#xff09;来创建这些实体的蓝图。OOP的核心概念包括封装、继承和多态。 Python中的面向对象编程 在Python中&#xff0c;一…...

Elasticsearch 向量搜索

目标记录 ["你好&#xff0c;我的爱人","你好&#xff0c;我的爱妻","你好&#xff0c;我的病人","世界真美丽"] 搜索词 爱人 预期返回 ["你好&#xff0c;我的爱人","你好&#xff0c;我的爱妻"] 示例代码…...

2024蓝桥杯每日一题(背包)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一&#xff1a;货币系统 试题二&#xff1a;01背包问题 试题三&#xff1a;完全背包问题 试题一&#xff1a;货币系统 【题目描述】 给定 V 种货币&#xff08;单位&#xff1a;元&#xff09;&#xff0c;每…...

Redis桌面客户端

3.4.Redis桌面客户端 安装完成Redis&#xff0c;我们就可以操作Redis&#xff0c;实现数据的CRUD了。这需要用到Redis客户端&#xff0c;包括&#xff1a; 命令行客户端图形化桌面客户端编程客户端 3.4.1.Redis命令行客户端 Redis安装完成后就自带了命令行客户端&#xff1…...

让Unity的协程变得简单

作者简介: 高科,先后在 IBM PlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C++,go等语言开发经验,mysql,mongo,redis等数据库,设计模式和网络库开发经验,对战棋类,回合制,moba类页游,手游有丰富的架构设计和开发经验。 (谢谢…...

2.9 Python缩进规则(包含快捷键)

Python缩进规则&#xff08;包含快捷键&#xff09; 和其它程序设计语言&#xff08;如 Java、C 语言&#xff09;采用大括号“{}”分隔代码块不同&#xff0c;Python采用代码缩进和冒号&#xff08; : &#xff09;来区分代码块之间的层次。 在 Python 中&#xff0c;对于类…...

任务记录.

播放器端的解码同步问题 miracast的投屏问题&#xff0c;进行修改的问题。 播放器ffplay命令没有声音的修改问题。 任务&#xff1a;如何将断开连接后在连接发送的数据&#xff0c;两秒后再去显示。 猜测&#xff1a; 一直在监听。断开后要求2秒后的数据再显示。那么也就是认为…...

andv vue 实现多张图片上传

1、提示 注意&#xff1a;&#xff1a;&#xff1a; 便利出来的数组 点击保存需要 把 双引号去掉 this.formData.image this.imageUrlList.filter((image) > image ! ) 注意&#xff1a;&#xff1a;&#xff1a; 回显的时候需要 再把 双引号加上 …...

使用JMeter+Grafana+Influxdb搭建可视化性能测试监控平台

【背景说明】 使用jmeter进行性能测试时&#xff0c;工具自带的查看结果方式往往不够直观和明了&#xff0c;所以我们需要搭建一个可视化监控平台来完成结果监控&#xff0c;这里我们采用三种JMeterGrafanaInfluxdb的方法来完成平台搭建 【实现原理】 通过influxdb数据库存储…...

django模板下,vue的使用(前后端不分离)

目录 关于djangovue的结合使用一、在你的templates中引入vue.js二、关于vue与django模板变量的冲突问题三、示例结语 关于djangovue的结合使用 网上的相关教程基本上都是部署node.js,npm安装vue&#xff0c;生成vue项目&#xff0c;然后将vue项目部署至django&#xff0c;这些…...

python笔记(7)List(列表)

目录 创建列表 取列表中的值 更新列表 删除元素 脚本操作符 嵌套列表 Python列表函数&方法 创建列表 创建一个列表&#xff08;List)用方括号[]括起来就可以&#xff0c;数据项之间用逗号作为分隔符&#xff0c;数据项可以是字符串&#xff0c;数字&#xff0c;甚至…...

java 抠取红色印章(透明背景)

一个亲戚让我帮他把照片里的红色印章抠出来&#xff0c;&#xff0c;&#xff0c;记录下处理过程&#xff0c;代码如下&#xff0c;可直接用&#xff1a; public static void signatureProcess(String sourceImagePath, String targetImagePath) {Graphics2D graphics2D null…...

CSS及javascript

一、CSS简介 css是一门语言&#xff0c;用于控制网页的表现。 cascading style sheet:层叠样式表 二、css的导入方式 css代码与html代码的结合方式 &#xff08;1&#xff09;css导入html有三种方式&#xff1a; 1.内联样式&#xff1a;<div style"color:red&quo…...

LeetCode 1997.访问完所有房间的第一天:动态规划(DP)——4行主要代码(不需要什么前缀和)

【LetMeFly】1997.访问完所有房间的第一天&#xff1a;动态规划(DP)——4行主要代码(不需要什么前缀和) 力扣题目链接&#xff1a;https://leetcode.cn/problems/first-day-where-you-have-been-in-all-the-rooms/ 你需要访问 n 个房间&#xff0c;房间从 0 到 n - 1 编号。同…...

BootsJS上新!一个库解决大部分难题!

不知不觉距离第一次发文章介绍自己写的库BootsJS已经过去一个月了&#xff0c;这个月里收到了许许多多JYM的反馈与建议&#xff0c;自己也再一次对BootsJS进行了改进与完善&#xff0c;又一次增加了很多功能&#xff0c;为此我想应该给JYM们汇报汇报这个月的工作进展。 BootJS仓…...

智慧公厕,让数据和技术更好服务社会生活

智慧公厕&#xff0c;作为智慧城市建设中不可忽视的一部分&#xff0c;正逐渐受到越来越多人的关注。随着科技的不断进步&#xff0c;智能化公厕已经成为一种趋势&#xff0c;通过数据的流转和技术的整合&#xff0c;为社会生活带来了更好的服务。本文以智慧公厕源头实力厂家广…...

购物网站首页分成几个模块/关键词制作软件

实现需求&#xff1a;每天凌晨2点对Linux服务器上的mysql数据库进行自动备份。 实现步骤&#xff1a;1&#xff0c;编写数据库备份脚本 2&#xff0c;编写crontab定时任务 1&#xff0c;编写数据库备份脚本 mysql数据库导出脚本&#xff0c;脚本名称可以定义为 “db-bac…...

萍乡网站推广/手机seo关键词优化

{*rule !important}这个css规则当今在网页制作的时候的普及已经非常流行了&#xff0c;以前我对它的理解就停留在‘浏览器是否识别阶段’ 而没有真正去研究过&#xff0c;可是现在发生了变化。众所周知&#xff0c;!important这个规则对Ie6.0,Ie7.0和Firefox能写hack&#xff0…...

dede手机网站跳转/网页设计制作教程

很久很久以前我是个.net程序媛&#xff0c;几年前也做过一些php的项目&#xff0c;不过我大部分时间都是一个前端设计师(工程师)。本来我想自己写api&#xff0c;但是一上手&#xff0c;才发现&#xff0c;忘了。。。99%忘了&#xff0c;孕傻害死人。算了呢&#xff0c;就用小程…...

电影下载网站模板/网站推广及seo方案

目录 01 准备演讲内容 02 快速掌握「抑扬顿挫」技巧 03 准备完整的演讲稿 04 害怕在公众面前发言怎么办? 05 如何面对冷场&#xff1f; 06 「好口才人士」具备的7个说话习惯 07 跟柴静学演讲技巧 01 准备演讲内容 02 快速掌握「抑扬顿挫」技巧 03 准备完整的演讲稿 04 害怕在…...

廊坊模板网站建设/百度竞价推广出价技巧

本系统为牛旦教育IT课堂在微头条上发布的内容&#xff0c;为便于查阅&#xff0c;特辑录于此&#xff0c;都是常用SQL基本用法。前两篇连接&#xff1a;(一)&#xff1a;SQL点滴(查询篇)&#xff1a;数据库基础查询案例实战(二)&#xff1a;SQL点滴(排序篇)&#xff1a;数据常规…...

网站后台bootstrap/长春网站建设技术托管

2019独角兽企业重金招聘Python工程师标准>>> 1. 什么是ORM ORM的全称是Object Relational Mapping&#xff0c;即对象关系映射。它的实现思想就是将关系数据库中表的数据映射成为对象&#xff0c;以对象的形式展现&#xff0c;这样开发人员就可以把对数据库的操作转…...