前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >将python用go写

将python用go写

作者头像
赵云龙龙
发布2020-05-19 21:51:52
7010
发布2020-05-19 21:51:52
举报

对于一个老鸟程序员来说,仅仅掌握一门语言是不够的。现在python感觉用烂了,连公司的HR,销售的美女们都在学。

而且精通了一门语言,学别的语言也是很容易的,语法类似,多练习,变得更熟练,用起来就更得心应手。

现在流行起来的Golang, 以其高并发,良好的性能越来越受欢迎。(我感觉它像C)。

目前Go语言已经⼴泛应用于人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、游戏开发等领域。

我花了一天时间学习了语法。平时也上网搜些资料。现在将资料整理一下,有个循序渐进的过程。

现在网上找到好的免费的学习资料不容易,大家都有经济头脑,呵呵。

学习基础语法:

这里推荐两个网址,我觉得不错,基础语法:https://gobyexample.com/

李文州的还有视频,很详细。 https://www.liwenzhou.com/categories/Golang/

当有了初步的了解后,可以去看系统讲解,还有原理的。估计很多面试题会来自这里面的知识。https://draveness.me/golang/

然后可以看比较详细的入门,可以看到各种例子,各种文件处理啥的 https://www.tizi365.com/archives/315.html http://c.biancheng.net/view/4551.html 多练习就可以解决平时的大部分问题了。

当你手痒开始敲代码的时候,你又不知道有哪些包可以用,可以参照。 https://www.cnblogs.com/show58/p/12627502.html

还可以看看实战的教程,就是可以做出东西的。 https://xueyuanjun.com/books/golang-tutorials 当你把上面这个啃完的时候,估计不是高手,也离高手不远了。

好了,废话不多说,let's go!

搭建环境

我是window,比较简单。 先去官网https://golang.google.cn/ 下载一个包,安装好就行了。然后设一个环境变量。 将安装路径设置为GOROOT 然后在path里加入:%GROOT%bin 在终端输入go version,这时会显示你的go的版本信息,环境就搭建起来了。

在编辑器vscode里面装go和code runner插件。

在做Go语言开发的时候为我们提供诸如代码提示、代码自动补全等功能。

在此之前请先设置GOPROXY,打开终端执行以下命令:

go env -w GOPROXY=https://goproxy.cn,direct

Windows平台按下Ctrl+Shift+P,Mac平台按Command+Shift+P 我们在这个输入框中输入>go:install,下面会自动搜索相关命令,我们选择Go:Install/Update Tools这个命令,将工具都装上。 当工具都装好了以后,我们去 文件->首选项->设置, 将自动保存设置好。 设置snippets。还是按Ctrl/Command+Shift+P,按下图输入>snippets,选择go. 其中$0表示最终光标提留的位置。举个例子,我这里创建了两个快捷方式,一个是输入pln就会在编辑器中插入fmt.Println()代码;输入plf,就会插入fmt.Printf("")代码。

{
    "println":{
        "prefix": "pln",
        "body":"fmt.Println($0)",
        "description": "println"
    },
    "printf":{
        "prefix": "plf",
        "body": "fmt.Printf(\"$0\")",
        "description": "printf"
    }
}

第一行代码: 这时你可以在你的项目目录下,新建一个工程项目project(一个文件夹就行),在项目目录下新建go文件test.go,选择一个编辑器打开并输入一下简单代码:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
    fmt.Printf("heloo")

}

由于go是采用包,来进行管理,因此,go语法规定,程序代码第一行必须注明包名,这里是main import是导入标识符,便于把一些外部的已经写好的包or库,引入到本程序中 函数:函数通过 func FunctionName( [parameter list] ) [return_types] 来标记,其中输入参数列表和输出参数列表如果没有,可以略去。main 函数是一个可执行程序必须包含的函数。 变量:如函数第一行和第二行,声明了两个变量,Who 和 inputReader,这是 Go 声明变量的两种方式。前者通过关键字 var 来实现,后者通过 := 来实现,两者效果相同,前者更为正式,用于声明一些重要变量,后者相对随意,常用于声明一些不太重要的变量。

打开终端,选择到project目录下执行

go run test.go

如果你看到Hello,World!那么你就成功了。 当然,也可以通过 go build HelloWorld.go 生成二进制文件,再通过 .\HelloWorld 来执行程序。

你也可以来调试代码, 需要在左边的debug 来打开文件夹,并且将 launch.json里面的配置改一下

            // "program": "${fileDirname}",
            "program": "${workspaceFolder}",

然后调试就像这样了。

OK, 来玩一把:

package main

import (
    "fmt"
    "net/http"
    "strings"
)

func main() {
    url := "https://shanghaicity.openservice.kankanews.com/public/bus/Getstop"
    contentType := "application/json"
    data := `{
        "stoptype": 1,
        "stopid": "18.",
        "sid": "56a7be0ecd56f84406d39759c67ee665"
    }`
    resp, err := http.Post(url, contentType, strings.NewReader(data))
    if err != nil {
        fmt.Println("post failed, err:%v\n", err)
        fmt.Println(resp)
        return
    } else {
        fmt.Println(err)
    }
}

看起来是不是跟python很像?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python粉丝团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搭建环境
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档