Go语言布尔类型
GO语言布尔类型Go语言中的布尔类型有两个常量值:true和false。布尔类型经常用在条件判断语句,或者循环语句。也可以用在逻辑表达式中。
布尔类型12345678910111213141516171819package mainimport "fmt"func main(){ var b1 bool = true var b2 bool = false var b3 = true var b4 = false b5 := true b6 := false fmt.Printf("b1: %v\n", b1) fmt.Printf("b1: %v\n", b2) fmt.Printf("b1: %v\n", b3) fmt.Printf("b1: %v\n", b4) fmt.Printf("b1: %v\n", b5) fmt.Printf("b1: %v\n", ...
Go语言数据类型
Go语言数据类型在Go编程语言中,数据类型用于声明函数和变量。
数据类型的出现是为了把数据分成所需内存大小不通的数据,编程的时候需要用大数据的时候才申请大内存,就可以充分利用内存。
Go语言按类别有以下几种数据类型:
序号
类型和描述
1
布尔型:布尔型的值可以是常量true或者false。一个简单的例子:var b bool = true
2
数字类型:整型int和浮点型float32、float64,Go语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。
3
字符串类型:字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使用UTF-8编码标识的Unicode文本。
4
派生类型:包括:(1)指针类型(Pointer)(2)数组类型(3)结构化类型(struct)(4)Channel类型(5)函数类型(6)接口类型(interface)(7)Map类型
数字类型Go也有基于架构的类型,例如:int、unit和uintptr。
序号
类型和描述
1
uint8无符号8位 ...
Go语言常量
Go语言常量常量,就是在程序编译阶段就确定下来的值,而程序在运行时则无法改变该值。在Go程序中,常量可以是数值类型(包括整形、浮点型和复数类型)、布尔类型、字符串类型等。
定义常量的语法定义一个常量使用const关键字,语法格式如下:
1const constantName [type]= value
const:定义常量关键字
constantName:常量名称
type:常量类型
value:常量的值
实例12345678910111213package mainfunc main(){ const PI float64 = 3.14 const PI2 = 3.1415 const ( width = 100 height = 200 ) const i , j = 1, 2 //多重赋值 const a , b , c =1, 2, "foo"}
const同时声明多个常量时,如果省略了值则表示和上面一行的值相同
123456789101112package mainimpo ...
Golang变量
golang变量变量是计算机语言中能储存计算结果或能表示值的抽象概念。不通的变量保存的数据类型可能会不一样
声明变量Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。并且Go语言的变量声明后必须使用。
声明变量的语法1var identifier type
var :声明变量关键字
identifier :变量名称
type :变量类型
例如
12345678package mainimport "fmt"func main(){ var name string var age int var ok bool}
批量声明使用一个var关键字,把一些变量写在一个括号()里
12345678package mainfunc main(){ var ( name string age int ok bool )}
变量初始化Go语言再声明变量的时候,回自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,例如: ...
Golang标识符关键字命名规则
标识符的组成1.标识符由数字、字母和下划线(_)组成。例如123 abc _
2.只能以字母和下划线(_)开头。例如 abc123 _sysVar 123abc
3.标识符区分大小写。name Name NAME
12345678910111213141516//正确的命名package mainimport "fmt"func main(){ var name string var age int var _sys int}//错误的标识符package mainimport "fmt"func main() { var 1name string var &age int var !email}
go语言关键字go语言提供了25个关键字,如下所示。
break
default
func
interface
select
case
defer
go
map
struct
chan
else
goto
package
switch
const
fallthrough
if
rang ...
如何从零部署Tomcat并实现外部监控防火墙是关的
如何从零部署Tomcat并实现外部监控本教程适用于通过Tomcat和JRE软件包部署的Centos系统,YUM装的Tomcat当我没说,加油。
前提条件:
防火墙是关的
Selinux是关的
下载Tomcat12搁这官网下https://tomcat.apache.org/download-80.cgi
安装JRE环境没有JRE环境是运行不了tomcat的
12搁这官网下https://www.oracle.com/java/technologies/downloads/#java8
12345下载下来的是个gz的压缩包,这边直接在/user/local目录下解压缩tar -xvf jdk-8u333-linux-x64.tar.gz -C /usr/software解压出来个文件夹jdk1.8.0_333
12去写环境变量vim /etc/profile
注意jdk1.8.0_333看清除你上面解压出来的名字和具体目录是啥
1234#set java environmentJAVA_HOME=/usr/local/jdk1.8.0_333PATH=$JAVA_HOME/bin:$P ...
防御SSH口令爆破攻击
防御SSH口令爆破攻击
只要服务器在线且ssh是默认的22端口,总能看到大量的IP在做SSH暴力破解工作。虽然可以通过修改ssh端口来避免这个问题,但有些情况可能不好修改。接下来就开始配置,让我们服务器更加安全,避免被当作肉鸡。
安装CentOS系统
1yum install fail2ban
Debian或Ubuntu系统
1apt-get install fail2ban
配置增加sshd的配置
1vi /etc/fail2ban/jail.d/sshd.local
例如:
1234567891011121314[ssh-iptables] enabled = truefilter = sshdaction = iptables[name=SSH, port=ssh, protocol=tcp] #系统日志目录logpath = /var/log/secure#忽略指定IP(可选)#ignoreip = 192.168.99.1#用于指定哪些地址可以忽略 fail2ban 防御(可选)#ignoreip = 192.168.99.0/24#ss ...
记一次恋爱时间纪念网站开发
恋爱时间纪念网站目前该项目已上传Wallpaper-engine,搜索“I love you three thousand times”-Sakura即可订阅使用
编写比较简单,底图修改直接进入img文件夹,将新图同名修改为bg.jpg即可。
需要修改显示文字与相爱日期,请右键进入资源管理器打开
使用文本编辑器打开index.html。
修改index.html中内容即可。
注意计时器代码中// 示例2020.07.31 13:14:00 一定要注意,Date对象的月份值是从0开始的,0表示1月,1表示2月——11表示12月
源码展示:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 ...
终于有人Docker讲清楚了,网工别再说你不懂了
终于有人Docker讲清楚了,网工别再说你不懂了
富 Web 时代,应用变得越来越强大,与此同时也越来越复杂。集群部署、隔离环境、灰度发布以及动态扩容缺一不可,而容器化则成为中间的必要桥梁。本文我们就来探索Docker的神秘世界,从零到一掌握 Docker 的基本原理与实践操作,是时候该开疆扩土啦。
讲个故事
为了更好的理解 Docker 是什么,我们先来讲个故事:
我需要盖一个房子,于是我搬石头、砍木头、画图纸、盖房子。一顿操作,终于把这个房子盖好了。
结果,住了一段时间,心血来潮想搬到海边去。这时候按以往的办法,我只能去海边,再次搬石头、砍木头、画图纸、盖房子。
烦恼之际,跑来一个魔法师教会我一种魔法。这种魔法可以把我盖好的房子复制一份,做成「镜像」,放在我的背包里。
等我到了海边,就用这个「镜像」,复制一套房子,拎包入住。
是不是很神奇?对应到我们的项目中来,房子就是项目本身,镜像就是项目的复制,背包就是镜像仓库。
如果要动态扩容,从仓库中取出项目镜像,随便复制就可以了。Build once,Run anywhere!
不用再关注版本、兼容、部署等问题,彻底解决了「上线即 ...
使用Certbot实现网页https
使用Certbot实现网页https
CertBot官网
https://certbot.eff.org/
Snapd官网
https://snapcraft.io/docs/installing-snapd
安装Snapd1.检查Centos版本1cat /etc/centos-release
2.更新软件仓库Centos8:12dnf install epel-releasednf upgrade
Centos7:1yum install epel-release
3.安装1yum install snapd
4.自启动1systemctl enable --now snapd.socket
5.创建链接1ln -s /var/lib/snapd/snap /snap
确保内核最新12snap install coresnap refresh core
安装Certbot1snap install --classic certbot
创建链接1sudo ln -s /snap/bin/certbot /usr/bin/certbot
选择一种部署方式1.全自动: ...