关闭

go语言

291人阅读 评论(0) 收藏 举报
分类:
一 搭建环境
去官网(https://golang.org/dl/,墙内地址:https://golangtc.com/download)下载源码。
1、下载源码包:go1.9.linux-amd64.tar.gz。(1.4调mysql有问题)
2、将下载的源码包解压至 /usr/local目录。
tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz

vi /etc/profile
export GOROOT=/usr/local/go  #设置为go安装的路径
export GOPATH=$HOME/gocode   #默认安装包的路径
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/profile 

go version 查看版本号。

liteide搭建

下载liteide,地址:https://www.golangtc.com/download/liteide,如: liteidex32.1.linux32-qt4-system.tar.bz2

tar jxvf   liteidex32.1.linux32-qt4-system.tar.bz2
进入到解压后的目录
/home/xxx/Desktop/liteide/bin 

安装qt   yum install   qt
直接运行liteide


二 安装测试
创建工作目录 C:\>Go_WorkSpace。
文件名: test.go,代码如下:
package main
import "fmt"
func main() {
   fmt.Println("Hello, World!")
}
使用 go 命令执行以上代码输出结果如下:
C:\Go_WorkSpace>go run test.go

Hello, World!

sleep

package main

import (
    "fmt"
    "os/exec"
    "time"
)
 

func main() {
    time.Sleep(15 * time.Second)
}

// 打印当前时间

package main

import (
    "fmt"
    "time"
)

func main() {
    fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
}
#函数

package main

import "fmt"

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

func main() {
   a, b := swap("Mahesh", "Kumar")
   fmt.Println(a, b)
}

执行结果为:Kumar Mahesh

#执行shell脚本

package main

import (
  "bytes"
  "fmt"
  "log"
  "os/exec"
)

func exec_shell(s string) {
    cmd := exec.Command("/bin/bash", "-c", s)
    var out bytes.Buffer

    cmd.Stdout = &out
    err := cmd.Run()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("%s", out.String())
}

func main() {
    exec_shell("uname ")

}

最简单的方法:

cmd := exec.Command("/bin/sh/", "-c", "linux命令")

或复杂的, 各个参数都要单独写

cmd := exec.Command("ls", "-l", "-a")

Start执行不会等待命令完成就,Run会阻塞等待命令完成。

    //lsCmd := exec.Command("bash", "-c", "/home/shell/modifyhls.sh    /data/channellist/channel03/index.m3u8 10 a a   & ")


关键字:

defer是golang语言中的关键字,用于资源的释放,会在函数返回之前进行调用。

一般采用如下模式:

f,err := os.Open(filename)
if err != nil {
  panic(err)
}
defer f.Close()

如果有多个defer表达式,调用顺序类似于栈,越后面的defer表达式越先被调用。



0
0
查看评论

我为什么选择使用Go语言?

谢孟军:EGO会员、GopherChina组织者、《Go Web编程》一书的作者,专注Golang技术架构。本文来自EGO会员群分享,入群方式见文末   在这里我主要想和大家分享一些Go和我个人的成长史。首先聊聊Go,在2009年全部开源出来后,它获得了当年的年度语言,但是直到2011年它才发...
  • csdn265
  • csdn265
  • 2016-11-23 21:40
  • 1466

go语言:数据库操作之MySql

package main import ( "database/sql" _ "github.com/Go-SQL-Driver/MySQL" "log" ) func initMysql() *sql.DB { //打开数据库...
  • x369201170
  • x369201170
  • 2014-05-27 15:35
  • 2337

我为什么放弃Go语言

我为什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论,但是我有足够详实的客...
  • liigo
  • liigo
  • 2014-04-14 19:24
  • 353566

Go语言学习笔记 --- 运算符

Go 中的运算符 Go 中的运算符都是从左到右的 优先级 (从高到低)一元运算符: ^ ! 二元运算符: \* / % << >> & &^ \+ - | ^ == != < <= >= > <- &a...
  • Tyro_java
  • Tyro_java
  • 2017-07-30 18:13
  • 262

GO语言零基础入门资料整理

GO语言跟它名字一样是门比较装逼的语言,鲜有菜鸟初学者教程,所以没有语言基础的话,理解起来会有点困难。闲来没事整理了一个GO零基础入门资料。 安装与简介 因为国内老被墙,被墙之后请在网上直接下载,下载链接 开发环境编辑器 1.Sublime,支持多标签,自动排版,高亮,简单的填补...
  • weiyuefei
  • weiyuefei
  • 2015-11-19 23:32
  • 4213

从例子中学习 go 语言 —— 基本语法

go 语言或是 golang 官网上有个 tour。从例子中学习一门语言虽然具有片面性,但是往往是一个入门的好方法;如果一开始就去是看手册的话,有些凌乱,摸不着头脑,有点看字典的味道。所以,先从例子中学习,然后再系统的学习,应该是个不错的方法。 本篇文章基本按照 tour 的步骤,跑...
  • wuwenxiang91322
  • wuwenxiang91322
  • 2013-06-03 13:19
  • 8466

Go语言的前世今生

今天跟大家分享一下Go语言的发展历程。谷歌工程师的20%时间谷歌的“20%时间”工作方式,允许工程师拿出20%的时间来研究自己喜欢的项目。语音服务Google Now、谷歌新闻Google News、谷歌地图Google Map上的交通信息等,全都是20%时间的产物。Go语言最开始也是20%时间的产...
  • wangshubo1989
  • wangshubo1989
  • 2017-02-15 14:44
  • 15762

六、go语言一些常用方法--go语言笔记

遍历以及mapfor i,value range slice{}//方式一 ages:=make(map[string]int)//方式二 ages:=map[string]int{ “alice”:31, “charlies”:34, } //delete 一个元素 dele...
  • alvine008
  • alvine008
  • 2016-04-05 13:41
  • 972

go语言示例:for语句

go语言唯一的循环结构是for语句。这里有三种基本的for循环结构。 最简单的形式是只有一个单一的条件语句。 一个典型的for语句是具有初始化语句,条件语句,和执行后语句的。 for语句如果没有条件语句会一直循环直到有break语句或者return语句返回的时候。 ...
  • xming4321
  • xming4321
  • 2013-11-27 10:23
  • 3744

go语言十大排序算法总结

选择排序选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。 选择排序是不稳定的。算法复杂度是O(n ^2 )。package mainimport ( "fmt&...
  • guoer9973
  • guoer9973
  • 2016-07-16 15:40
  • 5183
    个人资料
    • 访问:635244次
    • 积分:9323
    • 等级:
    • 排名:第2339名
    • 原创:206篇
    • 转载:400篇
    • 译文:0篇
    • 评论:42条
    最新评论