Les fonctions Go apportent des avantages au développement d'applications à page unique (SPA), notamment des blocs de code réutilisables et une organisation du code. La création d'une fonction Go nécessite l'utilisation du mot-clé func et son application à un SPA implique la compilation dans un module Wasm, le chargement dans JavaScript et l'appel de la fonction. Le cas pratique montre l'utilisation des fonctions Go pour calculer le prix total du panier.
Introduction
Go C'est un langage puissant idéal pour développer des applications à page unique (SPA) car il offre une excellente concurrence, des performances élevées et une syntaxe simple. Les fonctions Go sont un outil puissant pour le développement SPA, vous permettant de créer des morceaux de code réutilisables et d'organiser votre code.
Création d'une fonction Go
Pour créer une fonction Go, utilisez la syntaxe suivante :
func functionName(parameters) returnType { // 函数体 }
Par exemple, nous créons une fonction qui calcule la somme de deux nombres :
func add(a, b int) int { return a + b }
Utilisation de fonctions dans SPA
Dans SPA, vous pouvez utiliser les fonctions Go dans les fichiers JavaScript. Pour ce faire, nous devons utiliser le module WebAssembly (Wasm) généré par Go :
go build -o add.wasm ./add.go
go build -o add.wasm ./add.go
const add = await WebAssembly.instantiate(await fetch("./add.wasm"))
const result = add.exports.add(10, 20)
const add = wait WebAssembly.instantiate(await fetch("./add.wasm"))
Fonction Call Go : const result = add.exports.add( 10, 20 )
Cas pratique : Calculer le prix total du panier
Nous allons maintenant construire un exemple SPA simple qui utilise les fonctions Go pour calculer le prix total du panier.
Code Go :
package main import "strconv" // getItemPrice 返回项目的价格 func getItemPrice(id string) int { // 通过 ID 获取价格(模拟数据库查询) return 10 } // calcTotalPrice 返回购物车的总价 func calcTotalPrice(items []string) int { total := 0 for _, item := range items { price, _ := strconv.Atoi(item) total += getItemPrice(item) } return total }
Code JavaScript :
// 加载 Wasm 模块 const calcTotalPrice = await WebAssembly.instantiate(await fetch("./calcTotalPrice.wasm")); // 获取购物车物品 ID const items = ["item1", "item2", "item3"]; // 调用 Go 函数计算总价 const totalPrice = calcTotalPrice.exports.calcTotalPrice(items);
Conclusion
🎜🎜Les fonctions Go offrent des fonctionnalités améliorées pour le développement SPA en fournissant des blocs de code réutilisables et la possibilité d'organiser le code. En utilisant les fonctions Go avec Wasm, nous pouvons créer des applications d'une seule page qui sont performantes, simultanées et faciles à maintenir. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!