日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Go win32

發布時間:2025/5/22 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Go win32 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先說的讓人興奮的吧,“GO的庫開發在windwos上盡然是一摸一樣的啊”

C:\go-pro\go-self-package>go build gin-main.go

2017/09/20 14:39 1,936,384 gin-main.exe
2017/09/20 14:35 89 gin-main.go
2 個文件 1,936,473 字節
2 個目錄 261,820,047,360 可用字節

C:\go-pro\go-self-package>gin-main.exe
1 is ok
2 is ok

這就是我為什么堅持GO的原因,名廠名牌,就是不一樣啊,比那個WebAssembly強啊!!!!

為什么這么說呢,因為,我們偉大的GO盡然可以調用win32系統函數啊!!!!!

哇,哈哈哈,這不是強一點兒,是上了天啊!!!!!!

?

windows前端的兄弟姐妹們,我們開GO吧

?

一 DEMO

//win.go 顯示磁盤剩余空間,win32系統函數"Kernel32.dll"=>"GetDiskFreeSpaceExW"

import (
  "syscall"
  "unsafe"
  "log"
)

func main() {

  kernel32, _ := syscall.LoadLibrary("Kernel32.dll")
  defer syscall.FreeLibrary(kernel32)
  GetDiskFreeSpaceEx, _ := syscall.GetProcAddress(syscall.Handle(kernel32), "GetDiskFreeSpaceExW")

  lpFreeBytesAvailable := int64(0)
  lpTotalNumberOfBytes := int64(0)
  lpTotalNumberOfFreeBytes := int64(0)

  r, _, _ := syscall.Syscall6(uintptr(GetDiskFreeSpaceEx), 4,
        uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr("F:"))),
        uintptr(unsafe.Pointer(&lpFreeBytesAvailable)),
        uintptr(unsafe.Pointer(&lpTotalNumberOfBytes)),
        uintptr(unsafe.Pointer(&lpTotalNumberOfFreeBytes)), 0, 0)

  if 0!=r {
  log.Printf("Free %dmb", lpTotalNumberOfFreeBytes/1024/1024)
  }
}

//運行

go build win.go

C:\go-pro\go-win32>win.exe
2017/09/20 14:48:55 Free 257812mb

看到沒有,無與倫比啊,哈哈哈

Finally:

如此美妙,大家真的可以認真考慮一下,把GO跑到windows下了。

前途無量!!!!

轉載于:https://www.cnblogs.com/woodzcl/p/7561495.html

總結

以上是生活随笔為你收集整理的Go win32的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。