看到有人说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!\n");
}

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吧:)

GO language的更多相关文章

  1. <%@ page contentType="text/html; charset=utf-8" language="java"%>每一个字符的含义

    contentType="text/html:网页类型htmlcharset=utf-8"网页编码类型language="java"网页编程语言<% @ ...

  2. UML(Unified Modeling Language)统一建模语言

    什么是模型 模型是对现实的简化 模型是提供系统的蓝图,模型可是包括详细计划.也可是是从更高程度考虑系统的总体计划,每个系统可以从不同的方面用不通过的模型来描述.因而每个模型都是在语义上闭合的抽象系统. ...

  3. iOS Swift-元组tuples(The Swift Programming Language)

    iOS Swift-元组tuples(The Swift Programming Language) 什么是元组? 元组(tuples)是把多个值组合成一个复合值,元组内的值可以使任意类型,并不要求是 ...

  4. iOS Swift-控制流(The Swift Programming Language)

    iOS Swift-控制流(The Swift Programming Language) for-in 在Swift中for循环我们可以省略传统oc笨拙的条件和循环变量的括号,但是语句体的大括号使我 ...

  5. iOS Swift-简单值(The Swift Programming Language)

    iOS Swift-简单值(The Swift Programming Language) 常量的声明:let 在不指定类型的情况下声明的类型和所初始化的类型相同. //没有指定类型,但是初始化的值为 ...

  6. Traditional Language Model

    Traditional Language Model通常用于回答下述问题: How likely is a string of English words good English ? \(p_{LM ...

  7. language level in Intellij IDEA

    The Language level setting sets which features the code assistance in the editor should support. For ...

  8. Java Programming Language Enhancements

    引用:Java Programming Language Enhancements Java Programming Language Enhancements Enhancements in Jav ...

  9. SharePoint Site "Language Settings"功能与CSOM的对应

    博客地址:http://blog.csdn.net/FoxDave SharePoint网站中的语言设置:"Language Settings",可以用CSOM通过Site的一些 ...

  10. Why sql is called structured query language?1 - 12

    SQL has much to do with a researcher at IBM, Edgar F. (Ted) Codd, an Oxford-trained mathematician, w ...

随机推荐

  1. Docker之OVS网络

    OVS介绍 什么是OpenVSwich? OpenvSwich:开放虚拟交换标准,是一种基于开源Apache2.0许可证的多层软件交换机,专门管理多租赁云计算网络环境,支持KVM.Xen等虚拟化技术. ...

  2. hdu2594 Simpsons' Hidden Talents【next数组应用】

    Simpsons’ Hidden Talents Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...

  3. [No0000126]SSL/TLS原理详解与WCF中的WS-Security

    SSL/TLS作为一种互联网安全加密技术 1. SSL/TLS概览 1.1 整体结构 SSL是一个介于HTTP协议与TCP之间的一个可选层,其位置大致如下: SSL:(Secure Socket La ...

  4. [No0000104]JavaScript-基础课程4

    要说 JavaScript 和其他较为常用的语言最大的不同是什么,那无疑就是 JavaScript 是函数式的语言,函数式语言的特点如下: 函数为第一等的元素,即人们常说的一等公民.就是说,在函数式编 ...

  5. [No0000CA]什么是“普瑞马法则”?以及 如何利用“普瑞马法则”,三步克服惰性

    一般在学习和生活中,我们都可能有这样的经验,就是当说想要作某件事情的时候,但过了好久发现还是没有做:或者觉得有力气使不出来:或者总觉得生活是灰色和抑郁的等等. 这类情况反映在生活中,就是生活好像总是被 ...

  6. Kubernetes中的nodePort,targetPort,port的区别和意义(转)

    原文https://blog.csdn.net/u013760355/article/details/70162242 https://blog.csdn.net/xinghun_4/article/ ...

  7. [qemu] qemu旧的net参数已经不再可用了,新的这样用。

    老的命令: /root/BUILD_qemu/bin/qemu-system-x86_64 -enable-kvm \ -m 2G \ -cpu Nehalem -smp cores=,threads ...

  8. [DPI][suricata] suricata 配置使用

    前文: [DPI] suricata-4.0.3 安装部署 至此, 我们已经拥有了suricata可以运行的环境了. 接下来,我们来研究一下它的功能, 首先,分析一下配置文件: /suricata/e ...

  9. [daily][mirror][daemonlogger][tc] 我想把一个网卡(port A)的流量,镜像到虚拟机的一个网卡(port VA)上去

    iptables tee 模块 https://blog.gnuers.org/?p=740 http://blog.csdn.net/wesleyflagon/article/details/385 ...

  10. 读书笔记iOS-Core-Animation-Advanced-Techniques,iOS性能调试工具

    调试卡顿,除了使用timer profile,还可以使用 OpenGL ES驱动工具 OpenGL ES Driver工具显示的GPU利用率,打开Color Blended Layers 我们给图片和 ...