左手Python,右手Go

2024-03-16 05:20
文章标签 python go 左手 右手

本文主要是介绍左手Python,右手Go,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

640?wx_fmt=png

左手Python,右手Go


今日知图复制粘贴

y copy 复制 跟可视命令,移动命令一起连用
yy 复制一行
nyy 复制n行
p 粘贴
np 粘贴n次

0.说在前面1.HelloWorld程序2.基本语法3.条件判断4.作者的话


0.说在前面

最近Go很火!!!所以我也来学习了,一起来嗨GO!

1.HelloWorld程序

package main
import "fmt"
func main(){fmt.Println("Hello,World!")//单行注释/*我是多行注释*/
}

注意一点,main()后面的大括号不能放在下面,会有语法错误哦~

2.基本语法

注释

单行注释

//单行注释

多行注释

/*我是多行注释*/

数据类型

  • 布尔型

  • 数字类型

  • 字符串类型

  • 派生类型

区别:Go的字符串是单个字节连接!

数字类型有整型int,浮点型float32,float64等!

派生类型主要包含:

  • 指针类型(Pointer)

  • 数组类型

  • 结构化类型(struct)

  • Channel 类型

  • 函数类型

  • 切片类型

  • 接口类型(interface)

  • Map 类型

变量

形式

声明变量的一般形式是使用 var 关键字:

var 变量名 type

变量名也跟其他语言一样,起始不能为数字,由下划线,数组,字母组成!

单变量声明

例如:

package main
var name = "光城"
var a string
var b bool
func main(){a = "learn"println(name,a,b)
}

输出:

光城 learn false

可以发现,b没有初始化,那么默认值为false

多变量声明

这里分为显式与隐式定义!

//类型相同,但不是全局变量!
var a1,a2,a3 string
//自动判断类型,于python一致,不需要显式声明类型
var v1,v2,v3 = "1","2","3"
func main(){println("显式声明类型并未初始化打印")a1="a1"a2="a2"a3="a3"println(a1,a2,a3)println("未显式声明类型并初始化打印")println(v1,v2,v3)
}

输出:

显式声明类型并未初始化打印
a1 a2 a3
未显式声明类型并初始化打印
1 2 3

main函数内部声明并使用局部变量,必须在后面使用,否则报错!!!

func main(){var a string = "abc"println(a)
}

变量的另一种定义形式:

var (x1 int = 5x2 string = "hi"x3 bool = true
)
func main(){println("全局变量打印")println(x1,x2,x3)
}

输出:

全局变量打印
5 hi true

综上得出:定义在函数内部的是局部变量,局部变量必须进行使用,而函数外部未全局变量,可以直接声明,后面不使用!!!

除了上述语法外,还有一个特别神奇的语法糖,可以直接不用var来定义变量!!!

func main(){yufatang := "我是语法糖"println(yufatang)
}

注意点::=连用中间每空格,:=要确保左值没有被定义过!

常量

//显式定义
const name string = "光城"
//隐式定义
const PI  =  3.14
//多个相同类型声明
const c1,c2  = 1,2

枚举

每个变量之间换行!!!

const (Unknow=0Femal=1Male=2
)
println(Unknow,Femal,Male)

iota

iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次。

例1:

const (at = iota //0b        //1c        //2d = "ha" //独立值,iota += 1e        //"ha"   iota += 1f = 100  //iota +=1g        //100  iota +=1h = iota //7,恢复计数i        //8
)
println(at, b, c, d, e, f, g, h, i)

输出:

0 1 2 ha ha 100 100 7 8

例2:

const (i1=1<<iotaj=3<<iotakl
)
println(i1,j,k,l)

输出:

分别式向左移动0,1,2,3位,每移动1位乘以2。

1 6 12 24

运算符

算术运算符

这里介绍区别,在go中由自增,只不过与c或c++有区别,看下面!!!

atest := 1
atest++ //正确
++atest //错误,同理--一样
b:=atest++ //错误,单独作为语句

关系运算符

同c/c++,这里略!

逻辑运算符

&&||!,分别式与,或,非

位运算

&|^<<>>

赋值运算符

<<=>>=&=|=^=,+=,等。。。

其他运算符

&*与c/c++一致!

atest := 1
var ptr* int
ptr = &amp;atest
println(ptr)

3.条件判断

if else语句

授权例子!!!

var pa int
var pb int
println("请输入密码:   \n")
fmt.Scan(&amp;pa)
if pa == 123456 {println("用于获取授权!")println("请输入进门授权码:  \n")fmt.Scan(&amp;pb)if pb == 111 {println("成功!!!")} else {println("失败!!!")}
} else {println("非法入侵!!!")
}

switch语句

println("请输入条件字符串:\n")
var ch string
fmt.Scan(&amp;ch)
switch ch {
case "a":println("输入的是a!\n")
case "b":println("输入的是b!\n")
case "c":println("输入的是c!\n")
default:println("输入无效!\n")
}

4.作者的话

如果您觉得本公众号对您有帮助,欢迎关注本公众号GO系列!!!

640?wx_fmt=jpeg

我今天才知道,我之所以漂泊就是在向你靠近。

--《廊桥遗梦》

这篇关于左手Python,右手Go的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/814412

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接