Go linux 实践 1

引言:

如果,曾经,你以作为一名C语言应用开发者而自豪,那么后来你应该以用C++来开发为时髦,当JAVA出现时,你可能会说“这小子,有两下子嘛!”

但是,当你以JAVA专家出厂时,哈哈,返过头来面对Java/c++/c时,估计你已经吐了一地,哈哈哈哈

所以,西方列强哪里说了这么一句话,“90年代产生的那套OOP(面向对象编程)纯属胡说八道!”

哈哈哈,我猜,你已经倒地不起了,哈哈哈,没有关系,让我们往前看,坚定地走吧,Let‘s GO!

*************************************************************************************************************

网上的一段话,看看对于犹豫不决的你有没有帮助

[

Go 语言严格的结构原则和它的“一种事情有且只有一种方法完成”的思想
意味着我们无需在风格问题上纠缠不休。在针对Go 语言程序的代码审查上,审
查会变得更针对问题,而不是针对语言上的错综复杂,这是每个人都愿意看到的。

]

看看,我们的demo吧:

package main

import(
"fmt"
"math"
"math/rand"
)

func add(x int, y int) int{
return x+y
}

func sub(x, y int) int{
return x-y
}

func swap(x, y string) (string, string){
return y, x
}

func split(sum int) (x, y int){
x = sum*4/9
y = sum-x
return
}

var c, python, java bool

func main(){
fmt.Printf("Now you have %g problems.\n", math.Sqrt(7))
fmt.Println("My favorite number is ", rand.Intn(10))
var u64 uint64 = 1<<64-1
fmt.Printf("%d %d\n", u64, int64(u64))
fmt.Println(add(42, 13))
fmt.Println(sub(42, 13))
a, b:=swap("hello", "world")
fmt.Println(a, b)
fmt.Println(split(17))
var i int;
fmt.Println(i, c, python, java)
var b1, b2, s = true, false, "hw"
fmt.Println(b1, b2, s)
k := 3

fmt.Println(k)

}

Finally:

够简洁吧?

我姑且以为,如果你不是按引言一路走过来的,也许你无法看到GO的美丽。

哈哈,但总有一天你会成长的,身不由己啊,哈哈哈

时间: 2024-11-08 01:57:08

Go linux 实践 1的相关文章

linux实践之程序破解

linux实践之程序破解 这次的实践是文件破解,让我们从login可执行文件开始吧! 首先我们执行一下这个可执行程序 ①我们希望在不知道密码的情况下,能够登陆进去.且无论密码是什么,都是提示“on your command,my master!”. 首先对该程序执行反汇编. 我们首先要找到main函数的入口处. 我们可以看到cmp语句后,有jmp语句,如果不等于就跳转到“0x8048466”处,这是正常程序执行的过程,我们在这里希望不等于的时候,也不要跳转,所以可以把“75 0e”修改为“75

linux实践之ELF文件分析

linux实践之ELF文件分析 下面开始elf文件的分析. 我们首先编写一个简单的C代码. 编译链接生成可执行文件. 首先,查看scn15elf.o文件的详细信息. 以16进制形式查看scn15elf.o文件. 查看scn15elf.o中各个段和符号表的信息. 各个段的详细信息如下. 符号表的信息如下: 使用readelf命令查看各个段的详细信息: 段表信息如下: 符号表信息如下: 下面让我们开始分析文件头吧! 由于我的虚拟机是32位的,我下面就主要以32位的系统进行分析,就不比较32位机和64

【实践报告】Linux实践三

Linux实践——程序破解 一.掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即“空指令”.执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令.(机器码:90) JNE:条件转移指令,如果不相等则跳转.(机器码:75) JE:条件转移指令,如果相等则跳转.(机器码:74) JMP:无条件转移指令.段内直接短转Jmp short(机器码:EB)段内直接近转移Jmp near(机器码:E9)段内间接转移Jmp word(机器码:

Memcached+PHP+Mysql+Linux 实践

首先确保你的服务器环境已经具备了memcached和lamp,关于在Linux上搭建memcahced+php环境可以参考我的另外一篇帖子( http://www.cnblogs.com/codeAB/p/5591118.html )在往下看之前你应该带着这几个疑问.{ memcached 能解决什么问题 }{ 现在比较热议的一个话题 radis替代memcached  }{ 什么情况下适合使用memcached }{ memcached基本用法 }{ 利用memcached构建分布式缓存系统

【实践报告】Linux实践四

Linux内核分析 实践四——ELF文件格式分析 一.概述 1.ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文件(目标文件)格式主要三种: 可重定向文件:文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件.(目标文件或者静态库文件,即linux通常后缀为.a和.o的文件) 可执行文件:文件保存着一个用来执行的程序.(例如bash,gcc等) 共享目标文件:共享库.

Tess4J Linux 实践[解决:Tess4J - Native library (linux-x86-64/libtesseract.so) not found in resource path]

[本文编写于2018年7月5日] Tess4J是Tesseract的Java JNA wrapper.本文介绍了在CentOS 7 操作系统中使用Tess4J的步骤及注意事项.在正式开始之前,先花一点篇幅,对相关的技术作一简要介绍. 一点点背景 Tesseract Tesseract 是一个著名的开源OCR引擎,支持100多种语言,可以开箱即用.还可以通过训练方式支持更多语言.Tesseract诞生于1984年,来自HP公司,2005年开源.自2006年起,由谷歌接手开发.截止目前,最新的稳定版

Linux实践一:问题及解决

安装ubuntu出现的问题 : 打开镜像.iso文件,v-box好像是不识别这种格式的,它识别的好像是.vdi等格式,所以要用vm虚拟机打开镜像安装 打开镜像,按照步骤安装后,安装很久后,出现问题.初步怀疑是读取镜像文件错误,采取措施,换了一个镜像装(当时下载的时候,有两个镜像,一个是ubuntu,ubuntulyn好像是中文和英文版的区别),后来换了一个镜像之后,还是这样,重启一下,就可以进入正常的桌面状态了 更新软件源的问题: 选择系统文件的更新选项后,在选择服务器的时候,看实践指导书,推荐

linux实践-弱密码导致服务器被黑

本人从事IT行业以6年有余,这期间曾尝试过很多方向,但基本都不做开发.最近又开始尝试做运维.接下来就说说做运维以来遇上的第一次事故. 那天下午接到研发的工作单,要求上架2个linux的服务器,只要安装好CentOS6.5操作系统,然后对外开放22端口即可.要求非常简单.很快就实现了,root密码就设置成了password.然后交付研发.之后是个愉快的周六和郁闷的周日.因为这周日我被领导通知来公司检查网络,因为公司服务器无法访问了.考验来了,我心想. 赶到公司后第一件是就是登陆防火墙判断一下是不是

linux 实践2.2 编译模块

1.  理解模块原理 linux模块是一些可以作为独立程序来编译的函数和数据类型的集合.之所以提供模块机制,是因为Linux本身是一个单内核.单内核由于所有内容都集成在一起,效率很高,但可扩展性和可维护性相对较差,模块机制可弥补这一缺陷. Linux模块可以通过静态或动态的方法加载到内核空间,静态加载是指在内核启动过程中加载:动态加载是指在内核运行的过程中随时加载. 一个模块被加载到内核中时,就成为内核代码的一部分.模块加载入系统时,系统修改内核中的符号表,将新加载的模块提供的资源和符号添加到内

Linux实践

系统:CentOS6.5 12.yum下载 #将一个包下载到一个指定的目录(如/tmp): yum install --downloadonly --downloaddir=/tmp <package-name> #但是,在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项 yum install yum-plugin-downloadonly #说明:如果下载的包包含了