Go语言练习:go语言与C语言的交互——cgo

1、代码

 1 package main
 2
 3 import "fmt"
 4 /*
 5 #include <stdlib.h>
 6 #include <stdio.h>
 7 void hello()
 8 {
 9     printf("Hello World !\n");
10 }
11 */
12 import "C"
13
14 func Hello() {
15     C.hello();
16 }
17
18
19 func Random() int {
20     return int(C.random())
21 }
22
23 func Seed(i int) {
24     C.srandom(C.uint(i))
25 }
26
27 func main () {
28     Seed(100)
29     fmt.Println("Random:", Random())
30     Hello()
31 }

2、运行结果

$ go run cgo.go
Random: 677741240
Hello World !
时间: 2024-10-11 04:50:04

Go语言练习:go语言与C语言的交互——cgo的相关文章

《自学C语言》第一章:C语言简介

这一章主要介绍什么是C语言,以及它的产生.发展历史.如其中所说的计算机术语有不懂的请百度,例如什么是强类型,什么是高级语言. 1.C语言是什么? 答:C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.它是一种强类型的高级语言,几乎能做任何你想要做的事情. 既然它是强类型的语言,那肯定还有弱类型的语言咯?当然,强类型的语言还有很多,如C.C++.Fortran.Java:弱类型的语言

【Go语言】【14】GO语言的接口类型

1.什么是接口? 在面向对象的语言中,接口是用来限制实现类行为的.怎么理解这句话呢? 定义一个Person接口,我只会站在我的角度上考虑问题,比如Person(人),自然想到会吃饭.睡觉等: interface Person { // 人会吃饭 void eat(); // 人会睡觉 void sleep(); } 我是站在接口角度上考虑接口如何定义,此时不会过多考虑实现类的行为. 这很正常,因为我不能确定谁会使用我的接口,有一天SuperMan说:"我要用你定义的接口",那Super

除了C语言,C++&#183;&#183;&#183;&#183;&#183;&#183;竟然还有Z语言?

只能说自己见识短,头一次听说Z语言.先普及一下吧: Z语言是由牛津大学程序设计研究小组开发的一种形式语言,它是一种以一阶谓词演算为主要理论基础的规约语言,是一种功能性语言.Z语言是将事物的状态和行为用数学符号形式化表达的语言,为编写计算机程序和验证计算机程序的正确性提供依据,是软件工程中编码之前的规格说明语言. 形式化描述语言Z指的是著名数学家Zermelo,它是目前使用最广泛的一种形式化描述语言,在软件产业的一些大型项目中已经获得成功的应用,Z以带等词的一阶谓词逻辑ZF(Zermelo-Fra

《Go语言入门》第一个Go语言Web程序——简单的Web服务器

概述 上一篇讲了 <Go语言入门>第一个Go语言程序--HelloWorld,接下来讲一下Go语言Web开发入门必修课:第一个Go语言Web程序--简单的Web服务器. 与其它Web后端语言不同,Go语言需要自己编写Web服务器. 有关本地环境的搭建与基础学习,请参考: <Go语言入门>如何在Windows下安装Go语言编程环境 Go语言Web应用:IBM的云平台Bluemix使用初体验--创建Go语言 Web 应用程序,添加并使用语言翻译服务 Web服务器代码 Google在ht

Objective-C语言介绍 、 Objc与C语言 、 面向对象编程 、 类和对象 、 属性和方法 、 属性和实例变量

Objective-C语言介绍 . Objc与C语言 . 面向对象编程 . 类和对象 . 属性和方法 . 属性和实例变量 1 第一个OC控制台程序 1.1 问题 Xcode是苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X,iOS的应用程序.其运行于苹果公司的Mac操作系统下. 本案例要求使用集成开发工具Xcode编写OC的HelloWorld程序,在Xcode的控制台中, 1.2 方案 首先,启动集成开发工具Xcode. 然后,创建OC语言的工程. 最后,运行所创建的工

【Go语言】【12】GO语言的结构体

当我第一次接触到C语言时,就对结构体投入了极大的兴趣,认为这个东西以后大有作为,后来接触Java.C++,面向对象编程中的对象进入我的视线,经过了这么多年的磨练,回过头来再看结构体依旧是那么亲切:同时从另一个角度上看结构体与面向对象中的成员对象是多么的相像 :) 一.结构体元素 结构体由关键字.结构体类型名称和具体成员构成,如下: 二.结构体初步认识 下面通过对比数组(复合类型)来了解一下结构体: 1.从存储类型来看 数组只能存储相同的类型: s := []string{"a", &q

C语言学习-01第一个C语言程序

一 C语言的历史 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台. 二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为A

动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言

关于如题这几个概念,大部分人应该比较熟悉,但是我昏了好久,所以写下来加深印象. 1. 动态语言 又叫动态编程语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化.比如众所周知的ECMAScript(JavaScript)便是一个动态语言.除此之外如Ruby.Python等也都属于动态语言,而C.C++等语言则不属于动态语言. 而其实我们平时说的"动态语言"应该指的是"动态类型语言".至少我之前一直是这么认为的. 2. 动态类

静态语言、动态编译语言、动态语言的优劣

最近研究动态语言,对静态语言.动态编译语言与动态语言之间的区别及优劣感到有些迷糊,自己总结下,第一次发帖有什么不对的欢迎各位高手指教: 静态语言:现在流行的JAVA.C#等语言应该都是静态的,相关语法在编写代码阶段就已经经过编译校准,如果编写代码不对,就会报错: 动态语言: 区分动态编译语法及动态语法,以C#为例,在.NET4.0中提供了动态编译相关类库,主要通过CodeDOM及Compiler类实现,具体类名不再详细描述,网上有详细描述,这种语法的主要作用为把符合CodeDOM标准的代码及文件

代写C语言,C语言代写,C语言作业代写,C语言编程代写

代写C语言,C语言代写,C语言作业代写,C语言编程代写 我是一线IT企业程序员,目前接各种代码代写业务: 代写C语言.代做C语言.C语言作业代写.C语言代写 代写C++.代做C++.C++作业代写.C++作业代写 代写Python.代做Python.Python作业代写.Python作业代做 代写Java.代做Java.Java作业代写.Java作业代做 代写编程作业.代做编程.编程代写.编程代做 先写代码再给钱,不要任何定金!价钱公道,具体见图,诚信第一!(涉及图形化界面.或领域类知识如金融数