zoukankan      html  css  js  c++  java
  • GO language

    看到有人说GO是未来10年的主流了,不论是速度迅速接近于C,还是语法简洁接近于C,结果尽然还是编译型的,不需要虚拟机,生成程序已经是本地字节码。

    得,我不淡定了,这个不学,枉为程序员啊。

    今天,讲讲linux平台,GO开发环境搭建。

    一. 下载包
    https://www.golangtc.com/static/go/1.9/go1.9.linux-amd64.tar.gz
    哈哈,
    https://www.golangtc.com/static/go/1.9/go1.9.windows-amd64.msi
    交代一下,windows 上所有浏览器都不能下载这个源;CentOS 上也
    不能下载这个源;但是Ubuntn 虚拟机上能下。哈哈,所以在此把
    windows 上的msi 安装包也一并下载下来了。
    二. 安装包
    1. tar -xzf go1.9.linux-amd64.tar.gz -C /usr/local
    2. vim /etc/profile
    export GOROOT=/usr/local/go
    export PATH=$GOROOT/bin:$PATH
    export GOPATH=/root/gopkg
    3. 刷新环境变量
    source /etc/profile
    4. 确认是否成功 go version
    /usr/local/go/bin/go: cannot execute binary file
    哈哈,这个是操作系统位数出问题,我们安装的是64 位,
    CentOS 是32 位
    怎么办,重办[下载32 位GO]

    三. DEMO

    因为现在做C的缘故,我的例子是这样

    1. C 静态库

    // foo.h
    int count;
    void foo();

    //foo.c
    #include <stdio.h>
    #include <stdlib.h>
    #include "foo.h"
    int count = 6;

    void foo()
    {
    printf("I am foo! ");
    }

    gcc -o foo.o -c foo.c
    arrv libfoo.a foo.o

    //test-c-go.go

    package main
    // #cgo LDFLAGS: -L ./ -lfoo
    // #include "foo.h"
    import "C"
    import "fmt"
    func main() {
    fmt.Println(C.count)
    C.foo()
    }

    go build test-c-go-1.go

    ./test-c-go-1
    6
    I am foo!

    Finally:

    这叫从C跨到GO

    哈哈,GO GO GO, 你现在有基础了,开GO吧:)

  • 相关阅读:
    node.js结合wechaty实现微信机器人[基础篇]
    .env文件为NodeJS全局环境变量
    基于jquery实现一个提示插件
    Puppeteer实现一个超简单的自动化机器人
    Vue高仿阿里动态banner,制作组件
    css不常用属性
    Vue表单校验失败滚动到错误位置
    C# Func委托
    深入解析C# 4th 笔记(第一章)
    C# 笔记 XML基础
  • 原文地址:https://www.cnblogs.com/woodzcl/p/7442941.html
Copyright © 2011-2022 走看看