一.下载安装go

到墙内下载go的安装包:

http://www.golangtc.com/download

点击安装包然后进行安装

二.配置

1.查看环境

go version

2.安装完sdk之后接下来便是配置环境变量了,打开终端输入cd ~ 进入用户主目录,之后输入ls -all命令查看是否存在.bash_profile

文件,存在既使用vim .bash_profile打开并编辑该文件。根据自己实际情况,内容如下:

export GOPATH=/Users/apple/Documents/dev/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

go env

GOARCH="
GOBIN="/Users/apple/Documents/dev/go/bin"
GOCHAR="
GOEXE=""
GOHOSTARCH="
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/apple/Documents/dev/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_386"
CC="gcc"
GOGCCFLAGS="-fPIC -m32 -pthread -fmessage-length=0 -fno-common"
CXX="g++"
CGO_ENABLED="

cd /Users/apple/Documents/dev/go

vim main.go

package main

import (
  "fmt"
)

func main() {
  fmt.Println("hello go");
}

使用go build xx(项目名称)对其进行编译

adeMacBook-Pro:go apple$ ./main
hello go

例子1(socket编程:参考http://studygolang.com/articles/1879):

server端代码:

package main

import (
    "log"
    "net"
)

//socket编程例子
func main() {
    ln, err := net.Listen("tcp", ":5555")
    if err != nil {
        log.Println(err)
        return
    }
    for {
        conn, err := ln.Accept()
        if err != nil {
            log.Println(err)
            continue
        }

        go echoFunc(conn)
    }
}

func echoFunc(c net.Conn) {
    buf := make([])

    for {
        n, err := c.Read(buf)
        if err != nil {
            log.Println(err)
            return
        }

        c.Write(buf[:n])
    }
}

client端代码:

package main

import (
    "fmt"
    "net"
    "time"
)

//socket编程例子
func main() {
    conn, err := net.Dial("tcp", "127.0.0.1:5555")
    if err != nil {
        panic(err.Error())
    }
    defer conn.Close()

    buf := make([]byte, RECV_BUF_LEN)

    ; i < ; i++ {
        //准备要发送的字符串
        msg := fmt.Sprintf("Hello World, %03d", i)
        n, err := conn.Write([]byte(msg))
        if err != nil {
            println("Write Buffer Error:", err.Error())
            break
        }
        fmt.Println(msg)

        //从服务器端收字符串
        n, err = conn.Read(buf)
        if err != nil {
            println("Read Buffer Error:", err.Error())
            break
        }
        fmt.Println(:n]))

        //等一秒钟
        time.Sleep(time.Second)
    }
}

运行结果:

例子2(循环):

package main

//导入fmt包
import (
    "fmt"
)

//main函数定义
func main() {
    ForExample()
    fmt.Println("----------------------")
    GoExample()
    fmt.Println("----------------------")
    ArrExample()
    fmt.Println("----------------------")
    Revert("testRevert hah")
}

//创建一个基于for的简单的循环。使其循环10次,并且使用fmt包打印出计数器的值。
func ForExample() {
    ; i < ; i++ {
        fmt.Println(i)
    }
}

//创建一个基于for的简单的循环。使其循环10次,并且使用fmt包打印出计数器的值。
func GoExample() {
    i :=
I:
    fmt.Println(i)
    i++
     {
        goto I
    }
}

//再次改写1的循环,使其遍历一个array,并将array打印到屏幕上
func ArrExample() {
    arr := [], , , , , , , , , }
    for _, val := range arr {
        fmt.Println(val)
    }
}

//编写一个逆转字符串的程序,例如:"foobar"打印成为"raboof";
func Revert(s string) {
    var result string
    for _, val := range s {
        result = string(val) + result
    }
    fmt.Println(result)
}

Mac下搭建go语言开发环境的更多相关文章

  1. Win7下搭建Go语言开发环境

    Win7下搭建Go语言开发环境 1 下载适合window版本的Go安装包,下载地址http://code.google.com/p/go/downloads/list 2 下载适合window本本的L ...

  2. Mac下搭建Eclipse Android开发环境

    之前一直是用windows搞android开发,但windows这个性能也真是让人醉了,终于一狠心,砸锅卖铁买了Mac.然后就开始在Mac上搭建android开发环境, 其实也不麻烦,关键是找准下载地 ...

  3. Windows下搭建go语言开发环境 以及 开发IDE (附下载链接)

    1.下载 并且 安装 Go安装包   =========================================================== 在CSDN上传了我的版本,供大家下载: = ...

  4. Mac下搭建react native开发环境

    安装必需软件 Homebrew Homebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件. /usr/bin/ruby -e "$(curl -fsSL htt ...

  5. Win7/Win10下搭建Go语言开发环境

    1 下载适合window版本的Go安装包,下载地址http://code.google.com/p/go/downloads/list 2 下载适合window本本的LiteIDE,下载后解压即可使用 ...

  6. 干货分享:在Windows下使用Visual Studio搭建C语言开发环境

    前言:本文将教大家如何使用 VIsual Studio Code 搭建 C 语言开发环境,包括使用 VS Code 如何编译和调试 C 语言程序,需要 用到的工具有 Visual Studio Cod ...

  7. Windows下搭建objective C开发环境

    摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...

  8. 从零开始搭建Go语言开发环境

    一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...

  9. 安装Go语言及搭建Go语言开发环境

    一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...

随机推荐

  1. 10GE---超长距离的万兆以太网

    万兆以太网 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . 以太网标准是一个古老而又充满活力的标准.自从1982年以太网协议被IEEE采纳成为标准以后,已经历了20年的风风雨雨.在 ...

  2. 【原创】angularjs1.3.0源码解析之service

    Angular服务 在angular中,服务(service)是以提供特定的功能的形式而存在的. angular本身提供了很多内置服务,比如: $q: 提供了对promise的支持. $http: 提 ...

  3. javascript模板方法模式

    一:什么是模板方法模式: 模板方法模式由二部分组成,第一部分是抽象父类,第二部分是具体实现的子类,一般的情况下是抽象父类封装了子类的算法框架,包括实现一些公共方法及封装子类中所有方法的执行顺序,子类可 ...

  4. C++编程思想重点笔记(上)

    C和C++指针的最重要的区别在于:C++是一种类型要求更强的语言.就void *而言,这一点表现得更加突出.C虽然不允许随便地把一个类型的指针指派给另一个类型,但允许通过void *来实现.例如: b ...

  5. 关于js函数中的异步编程

    大家都说js 是单线程的应用,但是随着技术的发展,js的发展已经不仅仅局限于单线程了.因为现在很多都是异步了,所谓的异步,就是类似于ajax,写了一个回调函数,当我的服务还在这个地方的时候,等着他去排 ...

  6. 纯Java获得本地MAC地址

    import java.net.*; public class Ipconfig{      public static void main(String[] arguments) throws Ex ...

  7. HDU 1713 最小公倍数与最大公约数的问题 相遇周期

    欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) 相遇周期 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/ ...

  8. HDU1068 最大独立点集

    Girls and Boys Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. 又是一个二模02,不过day2

    话说比较简单.除了第三题不会写平衡树啊你妹!!边做边写吧. 机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链 ...

  10. python操作Excel读写--使用xlrd

    一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import x ...